
# 身份策略拒绝访问错误信息
当用户为通过身份策略授权某些权限或通过身份策略等显式禁止某些权限时，一般会收到IAM提供的鉴权错误提示；用户可基于鉴权错误提示明确此次访问被拒绝的原因，从而排除故障。
#### 隐式拒绝与显式拒绝
由于鉴权导致访问被拒绝可分为两种情况：隐式拒绝和显式拒绝。
隐式拒绝表明此次访问未得到管理员的明确授权。错误提示通常包含以下信息：
```
User: ${principal} is not authorized to perform: ${action} on resource: ${resource} because no ${policy_type} policy allows the ${action} action.
```
显式拒绝表明此次访问受管理员的明确限制。错误提示通常包含以下信息：
```
User: ${principal} is not authorized to perform: ${action} on resource: ${resource} with an explicit deny in the ${policy_type} policy.
```
| 参数             | 说明     |
|:---|:---|
| ${principal}   | 主体     |
| ${action}      | 访问执行操作 |
| ${resource}    | 被访问资源  |
| ${policy_type} | 策略类型   |
   
#### 错误信息示例
- **策略或身份策略隐式拒绝**
  此次访问未得到明确授权，没有附加到该主体上明确授权此次访问的策略或身份策略。
  检查附加到该主体上的策略或身份策略是否缺失对应访问执行操作的"Allow"语句，通过IAM管理员配置对应的权限。
  ```
  User: ${principal} is not authorized to perform: ${action} on resource: ${resource} because no identity-based policy allows the ${action} action.
  ```
  

- **策略或身份策略显式拒绝**
  此次访问受到明确限制，有附加到该主体上明确禁止此次访问的策略或身份策略。
  检查附加到该主体上的策略或身份策略是否有对应访问执行操作的"Deny"语句，通过IAM管理员去除对应的限制。
  ```
  User: ${principal} is not authorized to perform: ${action} on resource: ${resource} with an explicit deny in an identity-based policy.
  ```
  
- **资源策略隐式拒绝**
  此次访问未得到明确授权，没有基于资源明确授权此次访问的资源策略。
  检查基于资源的策略是否缺失对应访问执行操作的"Allow"语句，配置对应的权限。
  ```
  User: ${principal} is not authorized to perform: ${action} on resource: ${resource} because no resource-based policy allows the ${action} action.
  ```
  
- **资源策略显式拒绝**
  此次访问受到明确限制，有基于资源明确禁止此次访问的资源策略。
  检查基于资源的策略是否有对应访问执行操作的"Deny"语句，去除对应的限制。
  ```
  User: ${principal} is not authorized to perform: ${action} on resource: ${resource} with an explicit deny in a resource-based policy.
  ```
  
- **信任策略隐式拒绝**
  此次访问未得到明确授权，委托中没有明确授权此次访问的信任策略。
  检查信任委托中的信任策略是否缺失对应访问执行操作的"Allow"语句，配置对应的权限；或检查委托中的委托对象。
  ```
  User: ${principal} is not authorized to perform: ${action} on resource: ${resource} because no agency trust policy allows the ${action} action.
  ```
  
- **信任策略** **显式拒绝**
  此次访问受到明确限制，委托中有明确禁止此次访问的信任策略。
  检查委托中的信任策略是否有对应访问执行操作的"Deny"语句，去除对应的限制。
  ```
  User: ${principal} is not authorized to perform: ${action} on resource: ${resource} with an explicit deny in the agency trust policy.
  ```
  
- **会话策略隐式拒绝**
  此次访问未得到明确授权，委托会话中没有明确授权此次访问的会话策略。
  检查委托会话中的会话策略是否缺失对应访问执行操作的"Allow"语句，配置对应的权限。
  ```
  User: ${principal} is not authorized to perform: ${action} on resource: ${resource} because no session policy allows the ${action} action.
  ```
  
- **会话策略显式拒绝**
  此次访问受到明确限制，委托会话中有明确禁止此次访问的会话策略。
  检查委托会话中的会话策略是否有对应访问执行操作的"Deny"语句，去除对应的限制。
  ```
  User: ${principal} is not authorized to perform: ${action} on resource: ${resource} with an explicit deny in a session policy.
  ```
  
- **服务控制策略隐式拒绝**
  此次访问未得到明确授权，没有附加到该主体所属租户或所属组织根目录或组织单元的明确授权此次访问的服务控制策略。
  检查附加到该主体所属租户或所属组织根目录或组织单元的服务控制策略是否缺失对应访问执行操作的"Allow"语句，通过组织管理员配置对应的权限。
  ```
  User: ${principal} is not authorized to perform: ${action} on resource: ${resource} because no service control policy allows the ${action} action.
  ```
  
- **服务控制策略显式拒绝**
  此次访问受到明确限制，有附加到该主体所属租户或所属组织根目录或组织单元的明确禁止此次访问的服务控制策略。
  检查附加到该主体所属租户或所属组织根目录或组织单元的服务控制策略是否有对应访问执行操作的"Deny"语句，通过组织管理员去除对应的限制。
  ```
  User: ${principal} is not authorized to perform: ${action} on resource: ${resource} with an explicit deny in a service control policy.
  ```
  
 
