put-bucket-policy

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:*/*\"]}]}"