该接口的实现使用policy子资源来将指定桶的策略返回给客户端。
要使用该接口,使用者要求必须是桶的所有者,或者是桶所有者的子用户且具有获取桶策略的权限。
以下两种场景无法使用此接口获取桶策略,系统将返回“404 NoSuchBucketPolicy”的错误: 指定桶的策略不存在 指定桶的标准桶策略为私有且未设置高级桶策略
名称 | 类型 | IN | 必选 | 描述 |
---|---|---|---|---|
Authorization
|
string | header | 是 |
请求消息中可带的签名信息。 |
Date
|
string | header | 否 |
请求发起端的日期和时间,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默认值:无。 条件:如果消息头中带了x-obs-date字段,则可以不带该字段,其他情况下必选。 |
bucket_name
|
string | query | 是 |
请求的桶名称。 |
policy
|
string | query | 是 |
policy表示请求桶策略API。 |
成功响应消息
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
Content-Length
|
string | 否 |
响应消息体的字节长度。 |
Connection
|
string | 否 |
指明与服务器的连接是长连接还是短连接。 |
Date
|
string | 否 |
OBS系统响应的时间。 |
ETag
|
string | 否 |
对象的base64编码的128位MD5摘要。ETag是对象内容的唯一标识,可以通过该值识别对象内容是否有变化。比如上传对象时ETag为A,下载对象时ETag为B,则说明对象内容发生了变化。实际的ETag是对象的哈希值。ETag只反映变化的内容,而不是其元数据。上传的对象或拷贝操作创建的对象,通过MD5加密后都有唯一的ETag。如果通过多段上传对象,则无论加密方法如何,MD5会拆分ETag,此类情况ETag就不是MD5的摘要。 |
x-obs-id-2
|
string | 否 |
帮助定位问题的特殊符号。 |
x-obs-request-id
|
string | 否 |
由OBS创建来唯一确定本次请求的值,可以通过该值来定位问题。 |
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
Policy
|
SetBucketPolicyRequestBody object | 否 |
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
Statement
|
Array of Statement objects | 否 |
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
Sid
|
string | 否 |
statement Id,可选关键字,描述statement的字符串。 |
Principal
|
Principal object | 否 |
可选关键字,被授权人,指定本条statement权限针对的Domain以及User,支持通配符“”,表示所有用户。当对Domain下所有用户授权时,Principal格式为domain/domainid:user/。当对某个User进行授权时,Principal格式为domain/domainid:user/userId或者domain/domainid:user/userName。 如果通过控制台进行桶清单配置,控制台会自动生成目标桶的桶策略。目标桶的桶策略中Principal取值则固定为{"Service": "obs"}。关于桶清单的详细介绍请参见桶清单说明。 可选,Principal与NotPrincipal选其一。 |
NotPrincipal
|
NotPrincipal object | 否 |
可选关键字,不被授权人,statement匹配除此之外的其他人。取值同Principal。 可选,NotPrincipal与Principal选其一。 |
Action
|
Array of strings | 否 |
可选关键字,指定本条statement作用的操作,Action字段为OBS支持的所有操作集合,以字符串形式表示,不区分大小写。支持通配符“”,表示该资源能进行的所有操作。例如:"Action":["List", "Get*"]。 可选,Action与NotAction选其一。 |
NotAction
|
Array of strings | 否 |
可选关键字,指定一组操作,statement匹配除该组操作之外的其他操作。 取值同Action。 可选,Action与NotAction选其一。 |
Effect
|
string | 是 |
必选关键字,效果,指定本条statement的权限是允许还是拒绝,Effect的值必须为Allow或者Deny。 |
Resource
|
Array of strings | 否 |
可选关键字,指定statement起作用的一组资源,支持通配符“*”,表示所有资源。 可选,Resource与NotResource选其一。 |
NotResource
|
Array of strings | 否 |
可选关键字,指定一组资源,statement匹配除该组资源之外的其他资源。 取值同Resource。 可选,Resource与NotResource选其一。 |
Condition
|
Condition object | 否 |
除了指定效果、被授权用户、资源、动作外,桶策略还可以指定生效条件。只有当条件设置的表达式与访问请求中的值匹配时,桶策略才生效。条件是可选参数,用户可以根据业务需要选择是否使用。 条件由条件运算符、键、值三部分组成,最终组成一个条件表达式,决定桶策略生效的条件。同一个条件运算符中,如果存在多个相同的键,则只会保留最后一个键。条件运算符、键两者之间存在互相限制的关联关系,例如: 条件运算符选择了一个String类型的,比如StringEquals,键就只能选择String类型的,比如UserAgent。 键选择了一个Date类型,比如CurrentTime,条件运算符就只能选择Date类型的,比如DateEquals。 Condition判断类型和键如桶策略参数说明表4-7所示。 |
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
ID
|
Array of strings | 否 |
OBS支持的Principal或NotPrincipal有匿名用户、特定租户、特定用户、联合身份用户,委托用户。 |
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
ID
|
Array of strings | 否 |
OBS支持的Principal或NotPrincipal有匿名用户、特定租户、特定用户、联合身份用户,委托用户。 |
获取桶策略