
# 获取桶策略公共状态-GetBucketPolicyPublicStatus
#### 功能介绍
获取OBS桶策略的公共状态。了解更多桶级阻止公共访问配置相关信息，请参见[阻止桶公共访问](https://support.huaweicloud.com/usermanual-obs/obs_03_0739.html)。
#### 授权信息
您必须是桶拥有者或拥有获取桶策略公共状态的权限，才能调用本接口，建议使用IAM或桶策略进行授权。了解更多OBS授权方式请参见[OBS不同权限控制方式的区别](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0001.html)。
- 如果使用**IAM授权** ，那么请在"角色与策略授权"、"身份策略授权"两种IAM授权方式中选择一种，并配置相应权限：
  - 如果使用**角色与策略授权** （旧版IAM，即IAM v3接口），需具备**obs:bucket:GetBucketPolicyPublicStatus** 权限，授权操作请参见[创建IAM自定义策略](https://support.huaweicloud.com/usermanual-iam/iam_01_0605.html)。
  
  - 如果使用**身份策略授权** （新版IAM，即IAM v5接口），如下表所示，需具备**obs:bucket:getBucketPolicyPublicStatus** 权限，授权操作请参见[创建IAM自定义身份策略](https://support.huaweicloud.com/usermanual-iam5/iam_01_0917.html)。
    
    | 授权项 Action | 访问级别 Access Level | 资源类型（\*为必须） Resource Type (\*: required) | [条件键](https://support.huaweicloud.com/api-obs/obs_04_0112.html#ZH-CN_TOPIC_0000002375307974__condition_table) Condition Key                                                                                                                                                                                                                                                                                                                                          | [别名](https://support.huaweicloud.com/iam5_faq/iam_01_1103.html) Alias | 依赖的授权项 Dependencies |
    |:---|:---|:---|:---|:---|:---|
    | obs:bucket:getBucketPolicyPublicStatus                    | Read                                                             | bucket \*                                                                                | - [g:EnterpriseProjectId](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html#section2)  - [g:ResourceTag/\<tag-key\>](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html#section2)                                                     | -                                                                                                                    | -             |
    | obs:bucket:getBucketPolicyPublicStatus                    | Read                                                             | -                                                                                        | - obs:EpochTime  - obs:SourceIp  - obs:TlsVersion  - obs:CustomDomain   | -                                                                                                                    | -             |
       
    
   
- 如果使用**桶策略** 进行授权，需具备**obs:bucket:GetBucketPolicyPublicStatus** 权限，具体操作请参见[自定义创建桶策略](https://support.huaweicloud.com/usermanual-obs/obs_03_0123.html)。
 
#### URI
GET /
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-obs/obs_04_0006.html)。调用前需要先[计算API签名](https://support.huaweicloud.com/api-obs/obs_04_0009.html)，并将签名添加到请求中。
您还可以使用[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/OBS/doc?api=GetBucketPolicyPublicStatus)在线调试接口。
#### 请求消息样式
```
GET /?policyStatus HTTP/1.1
Host: bucketname.obs.cn-north-4.myhuaweicloud.com
Date: date
Authorization: authorization
Content-Type: application/xml
Content-Length: length
```
#### URI参数（URI Parameters）
该请求消息中不使用消息参数。
#### 请求头参数（Request headers）
该请求使用公共请求头，具体参见[表3](https://support.huaweicloud.com/api-obs/obs_04_0007.html#ZH-CN_TOPIC_0136436606__table25197309)。
#### 请求体参数（Request body）
该请求消息中不带请求体参数。
#### 响应消息样式
```
HTTP/1.1 status_code
Date: date
x-obs-request-id: 000001934E7A99E2530672D3A3903140
x-obs-id-2: 36AAAQAAEAABAAAQAAEAABAAAQAAEAABAAAaI=AAAAAAAAAAAAAAAAAAAAAAAAAA
Content-Length: length
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PolicyStatus xmlns="http://obs.myhuaweicloud.com/doc/2015-06-30/">
  <IsPublic>boolean</IsPublic>
</PolicyStatus>
```
#### 响应头 (Response Headers)
该请求的响应消息使用公共响应头，具体请参考[表1](https://support.huaweicloud.com/api-obs/obs_04_0013.html#ZH-CN_TOPIC_0173612084__d0e686)。
#### 响应体 (Response Body)
该请求的响应中以消息元素的形式返回桶策略公开状态，元素的具体意义如[表1]所示。
 表1响应体 
| **元素名称**     | **元素类型** | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| PolicyStatus | XML      | **参数解释：** 桶策略的公开状态，是IsPublic的父节点。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                             |
| IsPublic     | Boolean  | **参数解释：** 桶策略的公开状态。 **取值范围：** - true：表示桶存在公开访问权限。  - false：表示桶不存在公开访问权限。   |
   
#### 错误响应消息
此请求可能的特殊错误如下[表2]描述。
 表2错误响应消息 
| 错误码                | 描述                | HTTP状态码 |
|:---|:---|:---|
| NoSuchBucketPolicy | 桶策略不存在            | 404     |
| MethodNotAllowed   | 不允许使用该方法（特性开关未开启） | 405     |
   
其余错误已经包含在[错误码概述](https://support.huaweicloud.com/api-obs/obs_04_0115.html)中。
#### 请求示例
```
GET /?policyStatus 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=
```
#### 响应示例
```
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: 159
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PolicyStatus xmlns="http://obs.myhuaweicloud.com/doc/2015-06-30/">
  <IsPublic>false</IsPublic>
</PolicyStatus>
```
#### 使用SDK调用接口
建议您使用OBS SDK调用接口。SDK对API进行了封装以简化您的开发工作，直接调用SDK接口函数即可访问OBS，无需手动计算签名。
| [Java](https://support.huaweicloud.com/sdk-java-devg-obs/obs_23_1721.html) | [GO](https://support.huaweicloud.com/sdk-go-devg-obs/obs_23_1720.html) | C不支持 | [Python](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0849.html) | BrowserJS不支持 | .NET不支持 | Android不支持 | iOS不支持 | PHP不支持 | Node.js不支持 | Harmony不支持 |
|---|---|---|---|---|---|---|---|---|---|---|
   
#### 相关文档
- 了解更多设置桶级阻止公共访问配置相关信息，请参见[阻止桶公共访问](https://support.huaweicloud.com/usermanual-obs/obs_03_0739.html)。
- API操作涉及的计费项参见[计费项](https://support.huaweicloud.com/price-obs/obs_42_0002.html)。
 
