put-bucket-policy介面用於在指定的儲存空間(Bucket)上配置存取控制策略(Policy),從而授權當前阿里雲帳號或者其他阿里雲帳號下單個或多個RAM使用者、RAM角色等訪問Bucket內的資源。
注意事項
要為指定的儲存空間設定授權策略,您必須有oss:PutBucketPolicy
許可權。具體操作,請參見為RAM使用者授權自訂的權限原則。
命令格式
ossutil api put-bucket-policy --bucket value --body value [flags]
參數 | 類型 | 說明 |
--bucket | string | Bucket的名稱。 |
--body | string | 請求體,JSON格式,詳細定義了存取權限。 |
說明
put-bucket-policy命令對應API介面PutBucketPolicy。關於API中的具體參數含義,請參見PutBucketPolicy。
授權策略包含 Version
和 Statement
欄位,例如:
{
"Version": "1",
"Statement": [
{
"Action": ["oss:PutObject", "oss:GetObject"],
"Effect": "Deny",
"Principal": ["1234567890"],
"Resource": ["acs:oss:*:1234567890:*/*"]
}
]
}
Version
: 授權策略版本,預設為 "1"。Statement
: 包含一個或多個授權策略聲明的數組,每個聲明定義了一組操作許可權。Action
: 指定允許或拒絕的巨集指令清單,如oss:PutObject
,oss:GetObject
。Effect
: 指定效果,可選值為Allow
或Deny
。Principal
: 指定授權策略適用的主體,此處為指定使用者的UID。Resource
: 定義授權策略適用的資源範圍,格式遵循 OSS 規範。
說明
更多關於
Version
和Statement
欄位的說明,請參見Bucket Policy常見樣本。關於支援的全域命令列選項,請參見支援的全域命令列選項。
使用樣本
以下樣本展示了如何為名為 examplebucket
的儲存空間設定授權策略,拒絕指定使用者進行 PutObject
和 GetObject
操作:
ossutil api put-bucket-policy --bucket examplebucket --body "{\"Version\":\"1\",\"Statement\":[{\"Action\":[\"oss:PutObject\",\"oss:GetObject\"],\"Effect\":\"Deny\",\"Principal\":[\"1234567890\"],\"Resource\":[\"acs:oss:*:1234567890:*/*\"]}]}"