預設情況下,為保證儲存在OSS中資料的安全性,OSS資源(包括Bucket和Object)預設為私人許可權,只有資源擁有者或者被授權的使用者允許訪問。如果要授權第三方使用者訪問或使用自己的OSS資源,可以通過多種許可權控制策略向他人授予資源的特定許可權。
針對存放在Bucket的Object的訪問,OSS提供了以下許可權控制策略:
類型 | 說明 | 適用情境 |
RAM(Resource Access Management)是阿里雲提供的資源存取控制服務。RAM Policy是基於使用者的授權策略。通過設定RAM Policy,您可以集中管理您的使用者(例如員工、系統或應用程式)以及控制使用者可以訪問您名下哪些資源的許可權,例如限制您的使用者只擁有對某一個Bucket的讀許可權。 |
| |
Bucket Policy是基於資源的授權策略。相比於RAM Policy,Bucket Policy操作簡單,支援在控制台直接進行圖形化配置,並且Bucket擁有者直接可以進行訪問授權,無需具備RAM操作許可權。Bucket Policy支援為其他帳號的RAM使用者授予存取權限以及為匿名使用者授予帶特定IP條件限制的存取權限。 |
| |
您可以在建立Bucket時設定讀寫權限ACL,也可以在Bucket建立後的任意時間內根據自己的業務需求隨時修改ACL,該操作只有Bucket的擁有者可以執行。Bucket ACL分為public-read-write(公用讀寫)、public-read(公用讀取)和private(私人)三種。 | 對單個Bucket內的所有Object設定相同的存取權限。 | |
除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。 |