阿里雲Object Storage Service提供讀寫權限ACL、授權策略、防盜鏈白名單等功能,實現儲存資源訪問的控制和管理。
讀寫權限
OSS為許可權控制提供存取控制清單(ACL)。ACL是授予Bucket和Object存取權限的存取原則。 您可以在建立儲存空間(Bucket)或上傳對象(Object)時配置ACL,也可以在建立Bucket或上傳Object後的任意時間內修改ACL。
Bucket ACL
Bucket ACL是Bucket層級的許可權存取控制。目前有三種存取權限,含義如下:
許可權值
中文名稱
許可權對訪問者的限制
public-read-write
公用讀寫
任何人(包括匿名訪問)都可以對該Bucket中的Object進行讀、寫、刪除操作;所有這些操作產生的費用由該Bucket的Owner承擔,請慎用該許可權。
警告互連網上任何使用者都可以對該Bucket內的檔案進行訪問,並且向該Bucket寫入資料。這有可能造成您資料的外泄以及費用激增,如果被人惡意寫入違法資訊還可能會侵害您的合法權益。除特殊情境外,不建議您配置公用讀寫許可權。
public-read
公用讀取
只有該Bucket的Owner或者授權對象可以對存放在其中的Object進行寫、刪除操作;任何人(包括匿名訪問)可以對Object進行讀操作。
警告互連網上任何使用者都可以對該Bucket內檔案進行訪問,這有可能造成您資料的外泄以及費用激增,請謹慎操作。
private
私人
只有該Bucket的Owner或者授權對象可以對存放在其中的Object進行讀、寫、刪除操作;其他人在未經授權的情況下無法訪問該Bucket內的Object。
Object ACL
Object ACL是Object層級的許可權存取控制。目前有四種存取權限,含義如下:
許可權值
中文名稱
許可權對訪問者的限制
public-read-write
公用讀寫
所有使用者擁有對該Object的讀寫權限。
警告互連網上任何使用者都可以對該Object進行訪問,並且向該Object寫入資料。這有可能造成您資料的外泄以及費用激增,如果被人惡意寫入違法資訊還可能會侵害您的合法權益。除特殊情境外,不建議您配置公用讀寫許可權。
public-read
公用讀取
非Object Owner只有該Object的讀許可權,而Object Owner擁有該Object的讀寫權限。
警告互連網上任何使用者都可以對該Object進行訪問,這有可能造成您資料的外泄以及費用激增,請謹慎操作。
private
私人
只有該Object的Owner擁有該Object的讀寫權限,其他的使用者沒有許可權操作該Object。
default
繼承Bucket
Object遵循Bucket的讀寫權限,即Bucket是什麼許可權,Object就是什麼許可權。
說明Object的讀寫權限預設為繼承Bucket。Object的許可權大於Bucket許可權。例如,設定了Object的許可權是public-read,則無論Bucket是什麼許可權,該Object都可以被身分識別驗證訪問和匿名訪問。
更多資訊,請參見OSS開發指南中的設定Object ACL。
基於使用者的授權策略RAM Policy
RAM(Resource Access Management)是阿里雲提供的資源存取控制服務,RAM Policy是基於使用者的授權策略。通過設定RAM Policy,您可以集中管理您的使用者(例如員工、系統或應用程式),以及控制使用者可以訪問您名下哪些資源的許可權,例如限制您的使用者只擁有對某個Bucket裡的某些對象的讀許可權。
RAM Policy為JSON格式,您可以通過其中的Statement描述授權語義,每條語義包含對Action、Effect、Resource和Condition的描述。您可以根據業務情境設定多條語義,實現靈活的授權策略。詳情請參見Object Storage Service系統權限原則參考和Object Storage Service自訂權限原則參考。
STS臨時授權
相對於RAM提供的長效控制機制,STS(Security Token Service)提供的是一種臨時訪問授權。通過STS可以返回臨時的AccessKey和Token,這些資訊可以直接發給臨時使用者用來訪問OSS。一般來說,從STS擷取的許可權會受到更加嚴格的限制,並且擁有時間限制,因此這些資訊泄露之後對於系統的影響也很小。
OSS可以通過阿里雲STS進行臨時授權訪問。通過STS,您可以為第三方應用或子使用者(即使用者身份由您自己管理的使用者)頒發一個自訂時效和許可權的訪問憑證。更多資訊請參見OSS安全性權杖(STS Token)訪問。
基於資源的授權策略Bucket Policy
Bucket Policy是基於資源的授權策略。相比於RAM Policy,Bucket Policy支援在控制台直接進行圖形化配置操作,並且Bucket擁有者直接可以進行訪問授權。
使用Bucket Policy,您可以授予其他帳號的RAM使用者訪問您的OSS資源的許可權,也可以向匿名使用者授予帶特定IP條件限制的存取權限。詳情請參見通過Bucket Policy授權使用者訪問指定資源。
防盜鏈白名單
Object Storage Service是按使用量收費的服務。為了減少您儲存於OSS的資料被其他人盜鏈而產生額外費用,OSS支援設定基於HTTP和HTTPS header中表頭欄位Referer的防盜鏈方法。
您可以設定防盜鏈白名單,僅允許指定的網域名稱訪問OSS資源,或者僅允許HTTP或HTTPS header中包含Referer欄位的請求才能訪問OSS資源。對於公用讀取或公用讀寫的Bucket,防盜鏈白名單可以有效防止盜鏈,保護您的合法權益。詳情請參見OSS開發指南中的防盜鏈。