全部產品
Search
文件中心

Object Storage Service:存取控制

更新時間:Jun 19, 2024

阿里雲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開發指南中的防盜鏈