權限控制
默認情況下,為保證存儲在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。 |