# 创建网关后调用报错：委托缺少CSMS/KMS相关action权限
#### 问题描述
在调用网关过程中，返回报错缺少相关action策略，完整报错信息如下：
```
{
    "jsonrpc": "2.0",
    "id": 0,
    "error": {
        "code": -32603,
        "message": "send error: http upstream error: http request failed: outbound authentication failure: get api key failed, status code: 403 Forbidden, body: ErrorResponse { error_code: \"AgentIdentityTokenVault.1007\", error_msg: \"User: sts::xxx:assumed-agency:AgentArtsGatewayAgency/xxx is not authorized to perform: csms:secret:getVersion on resource: csms:regionId:xxx:secretName:apikeycredentialprovider-a452e54f because no identity-based policy allows the csms:secret:getVersion action.\" }"
    }
}
```
#### 原因分析
网关实际运行在Agent的沙箱环境中，当网关需要访问其他云服务时，需要在创建网关时选择相关的委托（Agency），缺少相应权限时会报此错误。主要原因如下：
1. **入站和出站身份认证** ：网关调用涉及入站和出站身份认证，该模块通过调用AgentIdentity实现。因此，创建网关时选择的委托中需要包含Identity调用相关策略，所需权限请参考[创建委托并授权](https://support.huaweicloud.com/highcode-agentarts/agentarts_10_024.html#section0)。
2. **密钥凭据权限**：csms:secret:getVersion和kms:cmk:decryptDataKey涉及密钥凭据权限，需自行补充。如果在调用场景中需要其他action，也可以自行加入。
 
#### 解决方案
**方案一：为已有委托补充CSMS权限**
如果在网关创建时已选择AgentArtsGatewayAgency委托，可通过以下步骤补充授权：
1. 进入统一身份认证服务 IAM，选择"委托"。
2. 在委托列表选择AgentArtsGatewayAgency委托，单击操作列的"**授权** "。
   
   ![](https://support.huaweicloud.com/highcode-agentarts/zh-cn_image_0000002724869600.png "点击放大")
   
   
3. 在策略列表中搜索"CSMS"，选择CSMSReadOnlyPolicy策略（该策略包含csms:secret:getVersion和kms:cmk:decryptDataKey权限）。 
   ![](https://support.huaweicloud.com/highcode-agentarts/zh-cn_image_0000002724710084.png "点击放大")
   
   
4. 单击"确定"完成授权。
**方案二：创建自定义身份策略并关联委托**
1. 进入统一身份认证服务 IAM，选择"身份策略"。
2. 单击"创建自定义身份策略"。 
   ![](https://support.huaweicloud.com/highcode-agentarts/zh-cn_image_0000002754309383.png "点击放大")
   
   
3. 参考下图配置所需的action权限（如csms:secret:getVersion、kms:cmk:decryptDataKey等），然后单击"确定"。
   
   ```
   {
     "Version": "5.0",
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "csms:secret:getVersion",
           "kms:cmk:decryptDataKey"
         ]
       }
     ]
   }
   ```
   ![](https://support.huaweicloud.com/highcode-agentarts/zh-cn_image_0000002754309747.png "点击放大")
   
   
4. 在左侧菜单栏选择"委托"，在委托列表选择AgentArtsGatewayAgency委托，单击操作列的"授权"。
5. 在策略列表中，选择[3]中创建的自定义策略。
   
   ![](https://support.huaweicloud.com/highcode-agentarts/zh-cn_image_0000002724709774.png "点击放大")
   
   
6. 单击"确定"完成授权后，即可在"基本信息 \> 授权记录"中查看。 
   ![](https://support.huaweicloud.com/highcode-agentarts/zh-cn_image_0000002754429853.png "点击放大")
   
   
