預設情況下,為保證儲存在OSS中資料的安全性,OSS資源(包括Bucket和Object)預設為私人許可權,只有資源擁有者或者被授權的使用者允許訪問。如果要授權第三方使用者訪問或使用自己的OSS資源,可以通過多種許可權控制策略向他人授予資源的特定許可權。
針對存放在Bucket的Object的訪問,OSS提供了以下許可權控制策略:
類型 | 說明 | 適用情境 |
RAM Policy | RAM(Resource Access Management)是阿里雲提供的資源存取控制服務。RAM Policy是基於使用者的授權策略。通過設定RAM Policy,您可以集中管理您的使用者(例如員工、系統或應用程式)以及控制使用者可以訪問您名下哪些資源的許可權,例如限制您的使用者只擁有對某一個Bucket的讀許可權。 | 為當前帳號下的RAM使用者、使用者組、RAM角色授予OSS許可權。 |
Bucket Policy | Bucket Policy是基於資源的授權策略。相比於RAM Policy,Bucket Policy操作簡單,支援在控制台直接進行圖形化配置,並且Bucket擁有者直接可以進行訪問授權,無需具備RAM操作許可權。Bucket Policy支援為其他帳號的RAM使用者授予存取權限以及為匿名使用者授予帶特定IP條件限制的存取權限。 | |
設定Bucket ACL | 您可以在建立Bucket時設定讀寫權限ACL,也可以在Bucket建立後的任意時間內根據自己的業務需求隨時修改ACL,該操作只有Bucket的擁有者可以執行。Bucket ACL分為public-read-write(公用讀寫)、public-read(公用讀取)和private(私人)三種。 | 對單個Bucket內的所有Object設定相同的存取權限。 |
設定Object ACL | 除Bucket層級ACL以外,OSS還提供了Object層級的ACL。您可以在上傳Object時設定相應的ACL,也可以在Object上傳後的任意時間內根據自己的業務需求隨時修改ACL。Object ACL分為default(繼承Bucket)、public-read-write(公用讀寫)、public-read(公用讀取)和private(私人)四種。 | 對單個或多個Object單獨設定存取權限。例如已通過RAM Policy或者Bucket Policy將Bucket內的所有Object或者與指定Prefix匹配的Object的存取權限設定為私人,但是需要將某個Object開放給所有互連網匿名使用者存取,則選擇Object ACL,並將ACL設定為public-read。 |
阻止公用訪問 | OSS支援通過設定Bucket Policy以及ACL的方式實現公用訪問。公用訪問是指無需特定許可權或身分識別驗證即可對OSS資源進行訪問。公用訪問容易引發資料泄露以及被惡意訪問而產生大量外網下行流量的風險。為避免公用訪問可能帶來的風險,OSS支援開啟阻止公用訪問。開啟阻止公用訪問後,已有的公用存取權限會被忽略,且不允許建立新的公用存取權限,以此關閉資料的公開訪問渠道,確保資料安全。 | 在OSS全域維度開啟阻止公用訪問。 在單個Bucket維度開啟阻止公用訪問。 在單個存取點維度開啟阻止公用訪問。 在單個對象FC存取點維度開啟阻止公用訪問。
|
存取點 | 為儲存空間(Bucket)建立多個存取點(Access Point),並對不同的存取點配置不同的存取控制許可權及網路控制策略。通過在不同業務情境使用不同的存取點進行訪問,降低大規模的共用資料集資料訪問管理的複雜度。 | |
當Bucket同時存在多個許可權控制策略(如RAM Policy、ACL、Bucket Policy等)時,詳細鑒權流程請參見OSS鑒權詳解。