全部產品
Search
文件中心

Object Storage Service:put-bucket-policy

更新時間:Aug 10, 2024

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

授權策略包含 VersionStatement欄位,例如:

{
  "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: 指定效果,可選值為 AllowDeny

    • Principal: 指定授權策略適用的主體,此處為指定使用者的UID。

    • Resource: 定義授權策略適用的資源範圍,格式遵循 OSS 規範。

說明

使用樣本

以下樣本展示了如何為名為 examplebucket 的儲存空間設定授權策略,拒絕指定使用者進行 PutObjectGetObject 操作:

ossutil api put-bucket-policy --bucket examplebucket --body "{\"Version\":\"1\",\"Statement\":[{\"Action\":[\"oss:PutObject\",\"oss:GetObject\"],\"Effect\":\"Deny\",\"Principal\":[\"1234567890\"],\"Resource\":[\"acs:oss:*:1234567890:*/*\"]}]}"