# AccessDenied
#### AccessDenied
#### 报错描述
没有权限执行操作。
#### 报错原因
权限不足通常与您配置的[IAM策略](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0053.html)、[桶策略](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0004.html)、[ACL](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0005.html)或其他策略有关，常见的权限不足原因有如下。
- 原因1：未正确配置IAM策略、桶策略或ACL权限。
- 原因2：跨账号访问资源时，仅配置了IAM策略、桶策略、ACL中的一种，权限不足。
- 原因3：被已配置的IAM策略、桶策略、[VPCEP策略](https://support.huaweicloud.com/usermanual-obs/obs_03_0602.html)、所属组织的[服务控制策略](https://support.huaweicloud.com/usermanual-organizations/org_03_0065.html)拒绝访问。
- 原因4：配置了防盗链，防盗链中配置了禁止访问的黑名单。
- 原因5：桶启用了[阻止公开访问（BPA）](https://support.huaweicloud.com/usermanual-obs/obs_03_0739.html)，且桶策略/对象ACL中存在公开策略。
- 原因6：IAM缓存导致策略未生效。由于缓存的存在，配置IAM策略后一般需要10\~15分钟权限才能生效。请等待10\~15分钟后再试。
 
#### 处理建议
#### 步骤一：确认是同账号还是跨账号场景
首先确认是同账号使用场景，还是跨账号使用场景：
- 如果**桶或对象归属的** 账号，与**访问者** 本身所在的账号**是** 同一个，那么属于**同账号** 场景，请参考[同账号场景处理建议]。
- 如果**桶或对象归属的** 账号，与**访问者** 本身账号**不是** 同一个，那么属于**跨账号** 场景，请参考[跨账号场景处理建议]。
 
#### 【可选】步骤二：同账号场景处理建议（与跨账号处理二选一）
同账号场景，只需要通过"IAM（推荐）**或**桶策略"中任一个进行授权即可。请按照如下步骤进行排查和处理：
1. 排查是否已正确授权。 
   1. 查看[权限和授权项](https://support.huaweicloud.com/api-obs/obs_04_0110.html)，获取所需操作对应的授权项。例如删除对象操作的授权项为obs:object:deleteObject。
   
   2. 如果采用IAM授权（ 推荐），请[查看IAM策略]，看用户是否被授予了对应的授权项。如果没有授权，请联系**账号** **管理员（Admin用户）** ，参考[使用IAM授权（旧版控制台）](https://support.huaweicloud.com/usermanual-obs/obs_03_0121.html)或[使用IAM授权（新版控制台）](https://support.huaweicloud.com/usermanual-obs/obs_03_0154.html)进行授权。
   
   3. 如果采用桶策略授权，请[查看桶策略]，看用户是否被授予了对应的授权项。如果没有授权，请联系**桶拥有者（创桶的IAM用户）或** **账号** **管理员** ，参考[使用桶策略授权](https://support.huaweicloud.com/usermanual-obs/obs_03_0123.html)进行授权。
   
   
   
   
2. 排查是否被设置为Deny（拒绝访问）。 
   
   | 序号 | 排查项         | 排查方法                                                                                                                                                             | 处理措施                                                                                                                                                |
   |:---|:---|:---|:---|
   | 1  | IAM策略       | [查看IAM策略]，排查[1]中获取的授权项是否被设置为Deny                                    | 联系**账号** **管理员** **（Admin用户）**将Deny（拒绝）修改为Allow（允许）                                                                                                 |
   | 2  | 桶策略         | [查看桶策略]，排查[1]中获取的授权项是否被设置为Deny                                    | 联系**桶拥有者（创桶的IAM用户）或** **账号** **管理员**将Deny（拒绝）修改为Allow（允许）                                                                                            |
   | 3   | VPCEP策略   | [查看VPCEP策略](https://support.huaweicloud.com/usermanual-vpcep/vpcep_03_0210.html)，排查[1]中获取的授权项是否被设置为Deny          | 联系**账号** **管理员** **（Admin用户）或终端节点创建者**将Deny（拒绝）修改为Allow（允许）                                                                                         |
   | 4  | 服务控制策略（SCP） | 查看所属组织的[服务控制策略](https://support.huaweicloud.com/usermanual-organizations/org_03_0065.html)，排查[1]中获取的授权项是否被设置为Deny | 联系**组织** **管理员** **（组织的[管理账号](https://support.huaweicloud.com/productdesc-organizations/org_01_0011.html)，或者管理账号下有SCP权限的IAM用户）**将Deny（拒绝）修改为Allow（允许） |
      
   
   
3. 排查是否被加入了防盗链黑名单。 
   请参考[防盗链](https://support.huaweicloud.com/usermanual-obs/obs_03_0341.html)排查向桶发出访问请求的网址，是否被加入了防盗链黑名单。如果在黑名单中，请联系**桶拥有者（创桶的IAM用户）或** **账号** **管理员**修改。
   
   
4. 排查访问方式是控制台/OBS Browser+访问，还是API/SDK/obsutil访问。 
   通过控制台或OBS Browser+访问桶和对象，还需要额外授予**列举桶（ListAllMyBuckets）** 和**列举对象（ListBucket）** 权限。请联系**账号** **管理员（Admin用户）** ，参考[使用IAM授权（旧版控制台）](https://support.huaweicloud.com/usermanual-obs/obs_03_0121.html)或[使用IAM授权（新版控制台）](https://support.huaweicloud.com/usermanual-obs/obs_03_0154.html)进行授权。
   
   
 
#### 【可选】步骤三：跨账号场景处理建议（与同账号处理二选一）
跨账号场景，需要通过"IAM**和** 桶策略（推荐）"进行授权，或通过"IAM**和**ACL"进行授权。以账号A要访问账号B的桶为例，需要完成：
- 账号**A** 的**账号管理员** ，使用**IAM策略** 给**A**名下的IAM用户授权，
- 账号**B** 的**桶拥有者** （创建桶的IAM用户），使用**桶策略或ACL** 给**A**名下的IAM用户授权。
**账号A（访问桶或对象的请求方）请按照如下步骤进行排查和处理：**
1. 排查是否已正确授权。 
   1. 查看[权限和授权项](https://support.huaweicloud.com/api-obs/obs_04_0110.html)，获取所需操作对应的授权项。例如删除对象操作的授权项为obs:object:deleteObject。
   
   2. 采用IAM授权，请[查看IAM策略]，看用户是否被授予了对应的授权项。如果没有授权，请联系**账号** **管理员（Admin用户）** ，参考[使用IAM授权（旧版控制台）](https://support.huaweicloud.com/usermanual-obs/obs_03_0121.html)或[使用IAM授权（新版控制台）](https://support.huaweicloud.com/usermanual-obs/obs_03_0154.html)进行授权。
   
   
   
   
2. 排查是否被设置为Deny（拒绝访问）。 
   
   | 序号 | 排查项          | 排查方法                                                                                                                                                             | 处理措施                                                                                                                                                  |
   |:---|:---|:---|:---|
   | 1 | IAM策略        | [查看IAM策略]，排查[1]中获取的授权项是否被设置为Deny                                     | 联系**账号** **管理员** **（Admin用户）**将Deny（拒绝）修改为Allow（允许）                                                                                                  |
   | 2 | VPCEP策略     | [查看VPCEP策略](https://support.huaweicloud.com/usermanual-vpcep/vpcep_03_0210.html)，排查[1]中获取的授权项是否被设置为Deny            | 联系**账号** **管理员** **（Admin用户）或终端节点创建者**将Deny（拒绝）修改为Allow（允许）                                                                                           |
   | 3  | 服务控制策略（SCP） | 查看所属组织的[服务控制策略](https://support.huaweicloud.com/usermanual-organizations/org_03_0065.html)，排查[1]中获取的授权项是否被设置为Deny | 联系**组织** **管理员** **（组织的[管理账号](https://support.huaweicloud.com/productdesc-organizations/org_01_0011.html)，或者管理账号下有SCP权限的IAM用户）**将Deny（拒绝）修改为Allow（允许） |
      
   
   
3. 排查访问方式是OBS Browser+访问，还是API/SDK/obsutil访问。暂不支持使用控制台跨账号访问。 
   通过OBS Browser+访问桶内对象，还需要额外授予**列举对象（ListBucket）** 权限。请联系**账号** **管理员（Admin用户）** ，参考[使用IAM授权（旧版控制台）](https://support.huaweicloud.com/usermanual-obs/obs_03_0121.html)或[使用IAM授权（新版控制台）](https://support.huaweicloud.com/usermanual-obs/obs_03_0154.html)进行授权。
   
   
**账号B（桶或对象归属的账号）请按照如下步骤进行排查和处理：**
1. 排查是否已正确授权。 
   1. 查看[权限和授权项](https://support.huaweicloud.com/api-obs/obs_04_0110.html)，获取所需操作对应的授权项。例如删除对象操作的授权项为obs:object:deleteObject。
   
   2. 如果使用桶策略授权（推荐），请[查看桶策略]，排查用户是否被授予了对应的授权项。如果没有授权，请联系**桶拥有者（创桶的IAM用户）** ，[使用桶策略](https://support.huaweicloud.com/usermanual-obs/obs_03_0123.html)进行授权。
   
   3. 如果使用ACL授权，请[查看ACL]，排查用户是否被授予了对应的授权项。如果没有授权，请联系**桶拥有者（创桶的IAM用户）** [使用对象ACL](https://support.huaweicloud.com/usermanual-obs/zh-cn_topic_0045829106.html)进行授权。
   
   
   
   
2. 排查是否被设置为Deny（拒绝访问）。 
   
   | 排查项 | 排查方法                                                                                                                             | 处理措施                                     |
   |:---|:---|:---|
   | 桶策略  | [查看桶策略]，排查[1]中获取的授权项是否被设置为Deny | 联系**桶拥有者（创桶的IAM用户）**将Deny（拒绝）修改为Allow（允许） |
      
   
   
3. 排查是否被加入了防盗链黑名单。 
   请参考[防盗链](https://support.huaweicloud.com/usermanual-obs/obs_03_0341.html)排查向桶发出访问请求的网址，是否被加入了防盗链黑名单。如果在黑名单中，请联系**桶拥有者（创桶的IAM用户）**修改。
   
   
4. 排查访问方式是OBS Browser+访问，还是API/SDK/obsutil访问。暂不支持使用控制台跨账号访问桶。 
   通过OBS Browser+访问桶内对象，还需要额外授予**列举对象（ListBucket）** 权限。请联系**桶拥有者（创桶的IAM用户）** ，[使用桶策略](https://support.huaweicloud.com/usermanual-obs/obs_03_0123.html)进行授权。
   
   
#### 步骤四：检查权限配置是否符合BPA要求
**如果操作是设置已有对象ACL，即桶中已有对象，在修改该对象的ACL时报错，请按照如下步骤排查：**
1. 查看BPA配置，检查是否开启了BlockPublicAcls开关。如果开启则执行[2]，未开启则执行[步骤五：等待缓存刷新]。
   
   可以使用[获取桶级阻止公共访问配置](https://support.huaweicloud.com/api-obs/obs_04_0175.html)API查看，也可以登录OBS[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)\>单击桶名进入桶详情页\>权限控制\>阻止公共访问，查看BlockPublicAcls是否开启。
   ![](https://support.huaweicloud.com/api-obs/figure/zh-cn_image_0000002612039179.png "点击放大")
   
   
2. 修改对象ACL，使其不包含公开语义。
**如果是除设置已有对象ACL以外的操作，请按照如下步骤排查：**
1. 查看BPA配置，检查是否开启了RestrictPublicBuckets开关。如果开启则执行[2]，未开启则执行[步骤五：等待缓存刷新]。
   
   可以使用[获取桶级阻止公共访问配置](https://support.huaweicloud.com/api-obs/obs_04_0175.html)API查看，也可以登录OBS[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)\>单击桶名进入桶详情页\>权限控制\>阻止公共访问，查看RestrictPublicBuckets是否开启。
   ![](https://support.huaweicloud.com/api-obs/figure/zh-cn_image_0000002612102957.png "点击放大")
   
   
2. 查看桶策略，检查是否包含公开策略，判断公开策略的标准参考[判断桶是否被配置为公共访问](https://support.huaweicloud.com/usermanual-obs/obs_03_0739.html#ZH-CN_TOPIC_0000002225223149__zh-cn_topic_0000002087645546_section454720370511)。如果包含则执行[3]，未开启则执行[步骤五：等待缓存刷新]。
3. 删除公开桶策略。
 
#### 步骤五：等待缓存刷新
按照以上步骤排查和调整后，如果还是无法访问，可能是因为缓存未刷新的原因，请等待10\~15分钟后再试。
#### 注意事项
- GetObject场景下，返回错误码受对象状态和权限配置影响，详情如下：
  - 如果对象**存在**，校验GetObject权限，有权限正常访问，没有权限访问报错返回403。
  
  - 如果对象**不存在** ，返回错误码情况如下：
    
    | GetObject（下载对象）权限 | ListBucket（列举桶内对象）权限 | 返回报错 |
    |:---|:---|:---|
    | 有                 | 有                     | 404   |
    | **有**             | **无**              | **403** |
    | 无                  | 有                   | 403   |
       
    
   

- 当桶和对象归属的账号不同时，即账号A向账号B的桶中上传对象，此时对象归属于账号A，桶归属于账号B。请参考[对象owner给桶owner授予对象的完全控制权限](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0057.html)进行授权。
 
#### AccessDenied. User: \<*user* \> is not authorized to perform: \<*action* \>on resource: \<*resource* \> because no \<*policy_type* \> policy allows the \<*action_type*\> action
**报错描述**
本次访问未得到明确授权。
**报错原因**
用户\<*user* \>没有权限操作资源\<*resource* \>，因为\<*policy_type* \>类型策略**没有明确授权** \<*action*\>操作。
| 参数            | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|
| user           | **参数解释：** 鉴权失败的IAM用户，即该IAM用户发起的访问请求因为鉴权失败被拒绝。 格式为如下，其中*domainid* 是账号ID，*userid* 是IAM用户ID，*agency-name* 是委托名，*session-name* 是会话名，*idp-id*是身份提供商ID。 - IAM用户：iam::*domainid* :user:*userid*  - IAM委托或信任会话：sts::*domainid* :assumed-agency:*agency-name* /*session-name*  - 虚拟联邦用户：sts::*domainid* :external-user:*idp-id* /*session-name*   **取值范围：** 无 |
| resource    | **参数解释：** 资源URN，即对该资源的访问请求因为鉴权失败被拒绝。 **取值范围：** - 访问桶时，格式为：obs:::bucket:*BucketName*  - 访问对象时，格式为：obs:::object:*BucketName* /*ObjectName*   其中*BucketName* 为访问的桶名，*ObjectName*为访问的对象名。                                                                                                                                                                                                                                                                                                                      |
| policy_type | **参数解释：** 策略类型，即鉴权失败的原因是该类型的策略没有明确授予权限。 **取值范围：** - identity-based：IAM策略  - resource-based：资源策略，包括桶策略或ACL策略  - session：会话策略，即VPCEP策略  - service control：服务控制策略                                                                                                                                                                                                    |
| action        | **参数解释：** 授权项，对应具体的操作，即鉴权失败的原因是该操作项缺失授权。 **取值范围：** 参见[权限和授权项](https://support.huaweicloud.com/api-obs/obs_04_0110.html)，每个授权项均对应一个桶或对象操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   
**处理建议**
请使用中响应消息中指定的策略（对应*policy_type* 参数），为用户（对应*user* 参数）增加指定资源（对应*resource* 参数）的对应权限（对应*action*参数）。
**样例**
IAM用户（用户ID为user001）上传对象（对象名为obj1）到桶（桶名为bucket01），请求由于没有明确授权导致403。
响应消息如下：
```
HTTP/1.1 403 Forbidden
Server: OBS
Content-Type: application/xml
Content-Length: 2893
Date: date
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Error>
  <Code>AccessDenied</Code>
  <Message>Access Denied. User: iam::domainid001:user:user001 is not authorized to perform: obs:object:putobject on resource: obs:::object:bucket01%2Fobj1 because no resource-based policy allows the obs:object:putobject action.</Message>
  <RequestId>0000019C41B3EA7C530608451D1F0447</RequestId>
  <HostId>Z9v+cC1sRnaWw6x0vi8pxxYA0YVnKxbYHUPAFpnxkX8sLV44u5b02Z+ailn2wCnR</HostId>
</Error>
```
根据响应消息可以看出，账号domainid001下的用户user001没有权限上传资源bucket01/obj1，原因是没有任何资源策略（桶策略或ACL）授权这个操作。
解决方式：
由桶bucket01的桶拥有者添加一条桶策略，给用户user001明确授予putObject权限。
```
{
    "Statement": [
        {
            "Sid": "allow_put",
            "Action": [
                "PutObject"
            ],
            "Effect": "Allow",
            "Resource": "bucket01/*",
            "Principal": {
                "ID": [
                    "domain/domainid001:user/user001"
                ]
            }
        }
    ]
}
```
#### AccessDenied. User: \<*user* \> is not authorized to perform: \<*action* \> on resource: \<*resource* \> with an explicit deny in a/an/the \<*policy_type*\> policy
**报错描述**
本次访问被明确拒绝。
**报错原因**
用户\<*user* \>没有权限操作资源\<*resource* \>，因为\<*policy_type* \>类型策略**明确拒绝** \<*action*\>操作。
| 参数            | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|
| user           | **参数解释：** 鉴权失败的IAM用户，即该IAM用户发起的访问请求因为鉴权失败被拒绝。 格式为：iam::*domainid* :user/*userid* ，其中*domainid* 是账号ID，*userid*是IAM用户ID。 **取值范围：** 无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| resource    | **参数解释：** 资源URN，即对该资源的访问请求因为鉴权失败被拒绝。 **取值范围：** 访问桶时，格式为：obs:::bucket:*BucketName* 访问对象时，格式为：obs:::object:*BucketName* /*ObjectName* 其中*BucketName* 为访问的桶名，*ObjectName*为访问的对象名。                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| policy_type | **参数解释：** 策略类型，即鉴权失败的原因是该类型的策略没有明确授予权限。 **取值范围：** - identity-based：IAM策略  - resource-based：资源策略，**明确拒绝场景仅包含桶策略，不包含ACL策略**。  - session：会话策略，即VPCEP策略  - service control：服务控制策略   |
| action        | **参数解释：** 授权项，对应具体的操作，即鉴权失败的原因是该操作项缺失授权。 **取值范围：** 参见[权限和授权项](https://support.huaweicloud.com/api-obs/obs_04_0110.html)，每个授权项均对应一个桶或对象操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   
**处理建议**
排查响应消息中指定的策略（对应*policy_type* 参数），是否Deny（拒绝）了指定用户（对应*user* 参数）对指定资源（对应*resource* 参数）的某项操作权限（对应*action*参数）。如果存在且不符合业务需求，请评估后将Deny修改为Allow。
**样例**
IAM用户（用户ID为user001）下载桶（桶名为bucket01）中的对象（对象名为obj1），由于被桶策略设置为Deny拒绝，导致鉴权失败报错403。
响应消息如下：
```
HTTP/1.1 403 Forbidden
Server: OBS
Content-Type: application/xml
Content-Length: 2893
Date: date
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Error>
  <Code>AccessDenied</Code>
  <Message>Access Denied. User: iam::domainid001:user:user001 is not authorized to perform: obs:object:putobject on resource: obs:::object:bucket01%2Fobj1 with an explicit deny in a resource-based policy.</Message>
  <RequestId>0000019C41C77CB55306084530520492</RequestId>
  <HostId>Z9v+cC1sRnaWw6x0vi8pxxYA0YVnKxbYHUPAFpnxkX8sLV44u5b02Z+ailn2wCnR</HostId>
</Error>
```
根据响应消息可以看出，账号domainid001下的用户user001没有权限下载资源bucket01/obj1，原因是桶策略明确拒绝了这个操作。
解决方式：
由桶bucket01的桶拥有者修改桶策略，将针对用户user001的GetObject的授权，从Deny修改为Allow。
由bucket01的所有者修改桶策略，去掉策略中明确拒绝的部分，例如：
```
{
    "Statement": [
        {
            "Sid": "deny_put",
            "Action": [
                "GetObject"
            ],
            "Effect": "Allow",
            "Resource": "bucket01/obj1",
            "Principal": {
                "ID": [
                    "domain/domainid001:user/user001"
                ]
            }
        }
    ]
}
```
#### Invalid according to Policy: Policy Condition failed
**报错描述**
Post请求中的Policy策略未满足。
**报错原因**
Post请求表单安全策略中的条件校验失败。
**处理建议**
检查Post请求表单中policy的"conditions"里指定的内容与请求实际携带的是否一致。了解更多表单安全策略相关内容请参考[条件元素：Conditions](https://support.huaweicloud.com/api-obs/obs_04_0012.html#ZH-CN_TOPIC_0000001991278941__section675581585817)。
#### Invalid according to Policy: Policy expired
**报错描述**
Post请求中的Policy策略已过期。
**报错原因**
Post请求表单安全策略已过期。
**处理建议**
检查Post请求表单中policy的"expiration"字段是否错误。
#### Anonymous access is forbidden for this operation
**报错描述**
操作禁止匿名访问。
**报错原因**
匿名用户无法执行这个操作。例如匿名用户无法进行列举桶操作。
**处理建议**
以非匿名方式进行操作，即在请求中携带用户身份信息进行操作，详情参考[OBS签名机制概述](https://support.huaweicloud.com/api-obs/obs_04_0009.html)。
#### custom domain name can not be visit directly, please use custom domain name
**报错描述**
当前域名无法直接访问。
**报错原因**
使用的域名不是可用域名。（非自定义域名访问且域名在禁用域名名单中）
**处理建议**
请使用自定义域名或其他域名进行访问。
#### OBS authentication requires a valid Date or x-obs-date header
**报错描述**
拒绝访问，请求没有携带日期头域或者头域格式错误。
**报错原因**
API请求消息中，需要携带日期相关头域（*Date* 或*x-obs-date*二选一），未携带则报错403。
**处理建议**
携带正确的日期头域，示例如下：
- 使用Date携带日期：
  ```
  PUT / HTTP/1.1
  User-Agent: curl/7.29.0
  Host: examplebucket.obs.cn-north-4.myhuaweicloud.com
  Accept: */*
  Date: Wed, 02 Apr 2025 09:54:15 GMT
  Authorization: OBS H4IPJX0TQTHTHEBQQCEC:75/Y4Ng1izvzc1nTGxpMXTE6ynw=
  Content-Length: 157
  <CreateBucketConfiguration xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/"> 
      <Location>cn-north-4</Location>
  </CreateBucketConfiguration>
  ```
  
- 使用x-obs-date携带日期：
  ```
  PUT / HTTP/1.1
  User-Agent: curl/7.29.0
  Host: examplebucket.obs.cn-north-4.myhuaweicloud.com
  Accept: */*
  x-obs-date: Wed, 02 Apr 2025 09:54:15 GMT
  Authorization: OBS H4IPJX0TQTHTHEBQQCEC:75/Y4Ng1izvzc1nTGxpMXTE6ynw=
  Content-Length: 157
  <CreateBucketConfiguration xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/"> 
      <Location>cn-north-4</Location>
  </CreateBucketConfiguration>
  ```
  
参数说明如下：
| 头域          | 参数类型 | 是否必选            | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| Date         | String  | 没有x-obs-date时必选 | **参数解释：** 请求发起端的日期和时间，例如：Wed, 02 Apr 2025 09:54:15 GMT **约束限制：** 如果是匿名请求或者消息头中带了x-obs-date字段，则可以不带该字段，其他情况下必选。与x-obs-date同时存在时，以x-obs-date为准。 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| x-obs-date | String | 没有Date时必选        | **参数解释：** 请求发起端的日期和时间，例如：Wed, 02 Apr 2025 09:54:15 GMT **约束限制：** 如果是匿名请求或者消息头中带了Date字段，则可以不带该字段，其他情况下必选。与Date同时存在时，以x-obs-date为准。 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
#### The object you specified is immutable, can not delete
**报错描述**
您指定的对象不可变，无法删除。
**报错原因**
对象受[WORM策略保护](https://support.huaweicloud.com/usermanual-obs/obs_03_0718.html)，保留期到期前无法被删除。
**处理建议**
WORM保留期到期后，再执行删除操作。
#### Action PutBucketPolicy on bucket: \<*BucketName*\> is restricted because public policies are blocked by the BlockPublicPolicy block public access setting
**报错描述**
配置桶策略操作（PutBucketPolicy）在存储桶 *BucketName*上被拒绝，因为BlockPublicPolicy配置禁止设置含公开语义的桶策略。
**报错原因**
当桶开启[BPA功能](https://support.huaweicloud.com/usermanual-obs/obs_03_0739.html)的BlockPublicPolicy配置后，如果桶策略包含公开语义，那么配置桶策略操作会被拒绝。
**处理建议**
修改桶策略，使其不包含公开语义。
#### Action PutBucketAcl on bucket: \<*BucketName*\> is restricted because public access control lists (ACLs) are blocked by the BlockPublicAcls block public access setting
**报错描述**
配置桶ACL操作（PutBucketAcl）在存储桶 *BucketName*上被拒绝，因为BlockPublicAcls配置禁止设置含公开语义的桶ACL。
**报错原因**
当桶开启[BPA功能](https://support.huaweicloud.com/usermanual-obs/obs_03_0739.html)的BlockPublicAcls配置后，如果桶ACL包含公开语义，那么配置桶ACL操作会被拒绝。
**处理建议**
修改桶ACL，使其不包含公开语义。
#### Action PutObject on object: \<*BucketName* /*ObjectName*\> is restricted because public access control lists (ACLs) are blocked by the BlockPublicAcls block public access setting
**报错描述**
向桶*BucketName* 中上传对象*ObjectName*被拒绝，因为BlockPublicAcls配置禁止设置含公共语义的对象ACL。
**报错原因**
当桶开启[BPA功能](https://support.huaweicloud.com/usermanual-obs/obs_03_0739.html)的BlockPublicAcls配置后，如果上传对象时配置的对象ACL包含公开语义，那么操作会被拒绝。
**处理建议**
修改对象ACL，使其不包含公开语义。
#### 相关操作
**查看IAM策略：**
- 旧版控制台：
  1. 登录[IAM旧版控制台](https://console.huaweicloud.com/iam/?#/iam/users)，搜索访问OBS失败的用户名，单击搜索到的用户名称，进入用户详情页。
  
  2. 查看用户的"授权记录"页签。
   
- 新版控制台：
  1. 登录[IAM新版控制台](https://console.huaweicloud.com/iam5/#/users)，搜索访问OBS失败的用户名，单击搜索到的用户名称，进入用户详情页。
  
  2. 查看"权限"页签。
   
**查看桶策略**：
1. 在OBS[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)左侧导航栏选择"桶列表"。
2. 在桶列表中，单击待操作的桶，进入"对象"页面。
3. 在左侧导航栏，单击"权限控制 \> 桶策略"。
**查看桶ACL**：
1. 在OBS[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)左侧导航栏选择"桶列表"。
2. 在桶列表中，单击待操作的桶，进入"对象"页面。
3. 在左侧导航栏，单击"权限控制 \> 桶ACL"。
**查看对象ACL**：
1. 在OBS[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)左侧导航栏选择"桶列表"。
2. 在桶列表中，单击待操作的桶，进入"对象"页面。
3. 在"对象ACL"页签查看配置。
**查看服务控制策略**：
1. 以组织管理员或管理账号的身份登录[组织管理控制台](https://console.huaweicloud.com/organizations/?&locale=zh-cn#/organizationMgmt)。
2. 进入策略管理页，单击"服务控制策略"，进入SCP管理页。
**查看VPCEP策略** ：参考[管理终端节点的策略](https://support.huaweicloud.com/usermanual-vpcep/vpcep_03_0210.html)。
