桶和對象的擁有者
桶的擁有者是創建桶的帳號。一個帳號下的IAM用戶創建的桶,桶擁有者為該IAM用戶的父級帳號。
對象的擁有者是上傳對象的帳號,而不是對象所屬的桶的擁有者。例如,如果帳號B被授予訪問帳號A的桶的權限,然后帳號B上傳一個文件到桶中,則帳號B是對象的擁有者,而不是帳號A。
桶策略
桶策略是作用于所配置的OBS桶及桶內對象的。OBS桶擁有者通過桶策略可為IAM用戶或其他帳號授權桶及桶內對象的操作權限。
桶策略的應用場景 :
- 不用IAM策略控制訪問權限的情況下,允許其他帳號訪問OBS資源,可以使用桶策略的方式授權其他帳號對應的權限。
- 當不同的桶對于不同的IAM用戶有不同的訪問控制需求時,需使用桶策略分別授權IAM用戶不同的權限。
- 桶擁有者允許其他帳號訪問自己的桶時,可使用桶策略授權其他帳號對應的權限。
桶策略模板:
OBS控制臺預置了六種常用典型場景的桶策略模板,用戶可以使用模板創建桶策略,快速完成桶策略配置。
選擇使用模板創建時,部分模板需要指定被授權用戶或資源范圍,您也可以在原模板基礎上修改被授權用戶、資源范圍、模板動作以及增加桶策略執行的條件。
| 模板名稱 | 被授權用戶 | 資源范圍 | 模板動作 |
|---|---|---|---|
| 桶只讀 | 待指定 | 包含當前桶和桶內所有對象 | 允許指定用戶對當前桶和桶內所有對象執行以下動作: Get*(所有獲取操作) List*(所有列舉操作) |
| 桶讀寫 | 待指定 | 包含當前桶和桶內所有對象 | 允許指定用戶對當前桶和桶內所有對象執行除以下動作以外的所有動作: DeleteBucket(刪除桶) PutBucketPolicy(設置桶策略) PutBucketAcl(設置桶ACL) |
| 目錄只讀 | 待指定 | 待指定(需指定對象前綴) | 允許指定用戶對當前桶和桶內指定資源執行以下動作: ListBucket(列舉桶內對象、獲取桶元數據) GetBucketLocation(獲取桶位置) ListBucketVersions(列舉桶內多版本對象) GetObject(獲取對象內容、獲取對象元數據) RestoreObject(恢復歸檔存儲對象) GetObjectAcl(獲取對象ACL) GetObjectVersion(獲取指定版本對象內容、獲取指定版本對象元數據) GetObjectVersionAcl(獲取指定版本對象ACL) |
| 目錄讀寫 | 待指定 | 待指定(需指定對象前綴) | 允許指定用戶對當前桶和桶內指定資源執行以下動作: ListBucket(列舉桶內對象、獲取桶元數據) GetBucketLocation(獲取桶位置) ListBucketVersions(列舉桶內多版本對象) ListBucketMultipartUploads(列舉多段上傳任務) GetObject(獲取對象內容、獲取對象元數據) PutObject(PUT上傳,POST上傳,上傳段,初始化上傳段任務,合并段) RestoreObject(恢復歸檔存儲對象) GetObjectAcl(獲取對象ACL) PutObjectAcl(設置對象ACL) GetObjectVersion(獲取指定版本對象內容、獲取指定版本對象元數據) GetObjectVersionAcl(獲取指定版本對象ACL) AbortMultipartUpload(取消多段上傳任務) ListMultipartUploadParts(列舉已上傳段) ModifyObjectMetaData(修改對象元數據) |
| 公共讀 | 匿名用戶(表示所有互聯網用戶) | 包含當前桶和桶內所有對象 | 允許匿名用戶(所有互聯網用戶)對當前桶和桶內所有對象執行以下動作: GetBucketLocation(獲取桶位置) ListBucketVersions(列舉桶內多版本對象) GetObject(獲取對象內容、獲取對象元數據) RestoreObject(恢復歸檔存儲對象) GetObjectVersion(獲取指定版本對象內容、獲取指定版本對象元數據) |
| 公共讀寫 | 匿名用戶(表示所有互聯網用戶) | 包含當前桶和桶內所有對象 | 允許匿名用戶(所有互聯網用戶)對當前桶和桶內所有對象執行以下動作: ListBucket(列舉桶內對象、獲取桶元數據) GetBucketLocation(獲取桶位置) ListBucketVersions(列舉桶內多版本對象) ListBucketMultipartUploads(列舉多段上傳任務) GetObject(獲取對象內容、獲取對象元數據) PutObject(PUT上傳,POST上傳,上傳段,初始化上傳段任務,合并段) RestoreObject(恢復歸檔存儲對象) GetObjectAcl(獲取對象ACL) PutObjectAcl(設置對象ACL) GetObjectVersion(獲取指定版本對象內容、獲取指定版本對象元數據) GetObjectVersionAcl(獲取指定版本對象ACL) AbortMultipartUpload(取消多段上傳任務) ListMultipartUploadParts(列舉已上傳段) ModifyObjectMetaData(修改對象元數據) |
自定義桶策略:
您也可以根據實際業務場景的定制化需求,不使用預置桶策略模板,自定義創建桶策略。自定義桶策略由允許/拒絕、被授權用戶、資源、動作和條件5個桶策略基本元素共同決定。
對象策略
對象策略即為桶策略中針對對象的策略,桶策略中針對對象的策略是通過配置資源來實現對象匹配的,資源可配置“*”(表示所有對象)或對象前綴(表示對象集)。對象策略則是直接選定對象后,配置到選定的對象資源的策略。
對象策略模板:
OBS控制臺預置了四種常用典型場景的對象策略模板,用戶可以使用模板創建對象策略,快速完成對象策略配置。
選擇使用模板創建時,部分模板需要指定被授權用戶,您也可以在原模板基礎上修改被授權用戶、模板動作以及增加對象策略執行的條件。資源范圍即為所需配置對象策略的對象,系統自動指定,無需修改
| 模板名稱 | 被授權用戶 | 資源范圍 | 模板動作 |
|---|---|---|---|
| 只讀模式 | 待指定 | 系統自動指定為已選對象,無需修改 | 允許指定用戶對當前對象執行以下動作: GetObject(獲取對象內容、獲取對象元數據) GetObjectVersion(獲取指定版本對象內容、獲取指定版本對象元數據) GetObjectVersionAcl(獲取指定版本對象ACL) GetObjectAcl(獲取對象ACL) RestoreObject(恢復歸檔存儲對象) |
| 讀寫模式 | 待指定 | 系統自動指定為已選對象,無需修改 | 允許指定用戶對當前對象執行以下動作: PutObject(PUT上傳,POST上傳,上傳段,初始化上傳段任務,合并段) GetObject(獲取對象內容、獲取對象元數據) GetObjectVersion(獲取指定版本對象內容、獲取指定版本對象元數據) ModifyObjectMetaData(修改對象元數據) ListMultipartUploadParts(列舉已上傳段) AbortMultipartUpload(取消多段上傳任務) GetObjectVersionAcl(獲取指定版本對象ACL) GetObjectAcl(獲取對象ACL) PutObjectAcl(設置對象ACL) RestoreObject(恢復歸檔存儲對象) |
| 公共讀 | 匿名用戶(表示所有互聯網用戶) | 系統自動指定為已選對象,無需修改 | 允許匿名用戶(所有互聯網用戶)對當前對象執行以下動作: GetObject(獲取對象內容、獲取對象元數據) RestoreObject(恢復歸檔存儲對象) GetObjectVersion(獲取指定版本對象內容、獲取指定版本對象元數據) |
| 公共讀寫 | 匿名用戶(表示所有互聯網用戶) | 系統自動指定為已選對象,無需修改 | 允許匿名用戶(所有互聯網用戶)對當前對象執行以下動作: PutObject(PUT上傳,POST上傳,上傳段,初始化上傳段任務,合并段) GetObject(獲取對象內容、獲取對象元數據) ModifyObjectMetaData(修改對象元數據) ListMultipartUploadParts(列舉已上傳段) AbortMultipartUpload(取消多段上傳任務) RestoreObject(恢復歸檔存儲對象) GetObjectVersion(獲取指定版本對象內容、獲取指定版本對象元數據) PutObjectAcl(設置對象ACL)GetObjectVersionAcl(獲取指定版本對象ACL) GetObjectAcl(獲取對象ACL) |
自定義對象策略:
你也可以根據實際業務場景的定制化需求,不使用預置對象策略模板,自定義創建對象策略。自定義對象策略由允許/拒絕、被授權用戶、資源、動作和條件5個桶策略基本元素共同決定,與桶策略類似,其中資源為已選擇的對象,系統自動配置。