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:*/*\"]}]}"
文档内容是否对您有帮助?