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:*/*\"]}]}"该文章对您有帮助吗?