PutBucketPolicy接口用于为指定的存储空间(Bucket)设置授权策略(Policy)。
背景信息
Bucket Policy是基于资源的授权策略。Bucket Policy常见的应用场景如下:
- 向其他账号的RAM用户授权访问。
您可以授予其他账号的RAM用户访问您的OSS资源的权限。
- 向匿名用户授予带特定IP条件限制的访问权限。
某些场景下,您需要向匿名用户授予带IP限制的访问策略。例如,企业内部的机密文档,只允许在企业内部访问,不允许在其他区域访问。由于企业内部人员较多,如果针对每个人配置RAM Policy,工作量非常大。此时,您可以基于Bucket Policy设置带IP限制的访问策略,从而高效方便地进行授权。
有关Bucket Policy的配置详情及场景案例,请参见使用Bucket Policy授权其他用户访问OSS资源。有关Policy语法,请参见权限策略语法和结构。
请求语法
PUT /?policy
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Tue, 13 Nov 2018 09:09:13 GMT
Authorization: OSS xxxxxxxxx:xxxxxxxxxxx
Policy written in JSON
示例
- 请求示例
PUT /?policy Content-Length: 230 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Thu, 21 Feb 2019 12:51:09 GMT Authorization: OSS xxxxxxx:xxxxxxxxxxxx { "Version":"1", "Statement":[ { "Action":[ "oss:PutObject", "oss:GetObject" ], "Effect":"Deny", "Principal":["1234567890"], "Resource":["acs:oss:*:1234567890:*/*"] } ] }
- 返回示例
200 (OK) content-length: 0 server: AliyunOSS x-oss-server-time: 87 connection: keep-alive x-oss-request-id: 5C6E9EBD5CC26B28EE41**** date: Thu, 21 Feb 2019 12:51:09 GMT