设置桶级阻止公共访问配置
功能介绍
创建或修改OBS桶的PublicAccessBlock配置,以开启或关闭阻止公开访问。
要正确执行此操作,需要确保操作者有PutBucketPublicAccessBlock权限。默认情况下只有桶的所有者可以执行此操作,也可以通过设置桶策略或用户策略授权给其他用户。

如果开启阻止公开访问,则已有的公开访问权限会被忽略,并且不允许配置新的公开访问权限。如果关闭阻止公开访问,则已有的公开访问权限仍然生效,并且支持配置新的公开访问权限。
请求消息样式
PUT /?publicAccessBlock HTTP/1.1 Host: bucketname.obs.cn-north-4.myhuaweicloud.com Date: date Authorization: authorization Content-Type: application/xml Content-Length: length <?xml version="1.0" encoding="UTF-8"?> <PublicAccessBlockConfiguration> <BlockPublicAcls>boolean</BlockPublicAcls> <IgnorePublicAcls>boolean</IgnorePublicAcls> <BlockPublicPolicy>boolean</BlockPublicPolicy> <RestrictPublicBuckets>boolean</RestrictPublicBuckets> </PublicAccessBlockConfiguration>
请求消息参数
该请求消息中不使用消息参数。
请求消息头
该请求使用公共消息头,具体参见表3。
请求消息元素
该操作可以带附加请求消息元素,附加请求消息元素的具体描述如表1所示。
元素名称 |
元素类型 |
是否必选 |
描述 |
---|---|---|---|
PublicAccessBlockConfiguration |
XML |
是 |
参数解释: PublicAccessBlockConfiguration参数的根节点。 约束限制: 无 取值范围: 无 默认取值: 无 |
BlockPublicAcls |
Boolean |
否 |
参数解释: 指定是否应该禁止为桶或桶内对象配置公开的ACL(access control list)。如果指定为true,会出现以下现象:
约束限制: 该配置不会对存量桶或对象造成影响。 取值范围:
默认取值: false |
BlockPublicPolicy |
Boolean |
否 |
参数解释: 指定是否应该禁止为桶配置公开的桶策略。如果指定为true,会出现以下现象:为桶配置桶策略时,如果指定公开的桶策略,则配置桶策略失败,返回403 Access Denied。 约束限制: 该配置不会对存量桶造成影响。 取值范围:
默认取值: false |
IgnorePublicAcls |
Boolean |
否 |
参数解释: 指定是否需要忽略已经为桶或桶内对象配置的公开的ACL。如果指定为true,会出现以下现象:该桶或桶内对象公开的ACL均会失效。 约束限制: 该配置不会影响已有的ACL,也不会阻止配置新的公开ACL。 取值范围:
默认取值: false |
RestrictPublicBuckets |
Boolean |
否 |
参数解释: 指定是否需要对已有的公开桶策略进行限制。如果指定为true,会出现以下现象:桶策略为公开时,只允许云服务账号和桶拥有者账号对该桶访问。 约束限制: 该配置不会影响已有的桶策略,也不会阻止配置新的公开桶策略。 取值范围:
默认取值: false |
响应消息样式
HTTP/1.1 status_code Date: date
响应消息头
该请求的响应消息使用公共消息头,具体请参考表1。
响应消息元素
该请求的响应中不带有响应元素。
错误响应消息
此请求可能的特殊错误如下表2描述。
错误码 |
描述 |
HTTP状态码 |
---|---|---|
InvalidRequest |
BlockPublicAcls、BlockPublicPolicy、IgnorePublicAcls、RestrictPublicBuckets四个配置均未指定,至少需要指定其中一个配置。 |
400 |
MethodNotAllowed |
不允许使用该方法(特性开关未开启) |
405 |
其余错误已经包含在表2中。
请求示例 :设置四个配置均为true
put /?publicAccessBlock HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: Sat, 16 Nov 2024 08:59:07 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:75/Y4Ng1izvzc1nTGxpMXTE6ynw= Content-Length: 288 <?xml version="1.0" encoding="UTF-8"?> <PublicAccessBlockConfiguration> <BlockPublicAcls>true</BlockPublicAcls> <IgnorePublicAcls>true</IgnorePublicAcls> <BlockPublicPolicy>true</BlockPublicPolicy> <RestrictPublicBuckets>true</RestrictPublicBuckets> </PublicAccessBlockConfiguration>
响应示例 :设置四个配置均为true
HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF260000016435CE298386946AE4C482 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz Date: Sat, 16 Nov 2024 08:59:08 GMT Content-Length: 0
请求示例 :仅配置BlockPublicAcls为true
PUT /?publicAccessBlock HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: Sat, 16 Nov 2024 08:59:07 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:75/Y4Ng1izvzc1nTGxpMXTE6ynw= Content-Length: 147 <?xml version="1.0" encoding="UTF-8"?> <PublicAccessBlockConfiguration> <BlockPublicAcls>true</BlockPublicAcls> </PublicAccessBlockConfiguration>
响应示例 :仅配置BlockPublicAcls为true
HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF260000016435CE298386946AE4C482 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz Date: Sat, 16 Nov 2024 08:59:08 GMT Content-Length: 0