# 创建信任委托 - CreateAgencyV5
#### 功能介绍
该接口可以用于创建信任委托。
![](https://support.huaweicloud.com/api-iam5/public_sys-resources/note_3.0-zh-cn.png)
信任委托只能授予身份策略且仅兼容支持身份策略的云服务，详情见[支持身份策略与信任委托的云服务列表](https://support.huaweicloud.com/usermanual-iam5/iam_01_1224.html)。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/IAM/doc?api=CreateAgencyV5&version=v5)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-iam5/iam_02_1124.html)。
| 授权项                   | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| iam:agencies:createV5 | Write | agency \*   | -   | -  | -      |
   
#### URI
POST /v5/agencies
#### 请求参数
表1请求Body参数 
| 参数                   | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| agency_name          | 是    | String  | **参数解释**： 信任委托名称。 **约束限制**： 不涉及 **取值范围**： 长度为1到64个字符，只包含字母、数字、"_"、"+"、"="、","、"."、"@"和"-"的字符串。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| path                 | 否    | String  | **参数解释**： 资源路径，用于组织和分类资源的层级路径，类似于文件系统中的目录结构。 **约束限制**： 不涉及。 **取值范围**： 由若干段字符串拼接而成，长度为0\~512个字符，每段先包含一个或多个字母、数字、"."、","、"+"、"@"、"="、"_"或"-"，并以"/"结尾，例如"foo/bar/"。 **默认取值**： 默认为空字符串。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| trust_policy         | 是    | String  | **参数解释**： 信任委托信任策略的策略文档的json格式。 **约束限制**： 下面的字符*= \< \> ( ) \|*是语法中的特殊字符，不包含在信任策略中。 问号*?* 表示元素是可选的。例如*sid_block?*。 竖线*\|* 表示可选项，括号定义了可选项的范围。例如*("Allow" \| "Deny")*。 当一个元素允许多个值时，使用重复值*,* 以及*...* 表示。例如*\[ \<policy_statement\>, \<policy_statement\>, ... \]*。 下面的递归文法描述了信任策略的语法： ``` policy = { <version_block>, <statement_block> } <version_block> = "Version" : ("5.0") <statement_block> = "Statement" : [ <policy_statement>, <policy_statement>, ... ] <policy_statement> = { <sid_block?>, <principal_block>, <effect_block>, <action_block>, <resource_block?>, <condition_block?> } <sid_block> = "Sid" : <sid_string> <principal_block> = ("Principal" | "NotPrincipal") : <principal_map> <principal_map> = { <principal_map_entry>, <principal_map_entry>, ... } <principal_map_entry> = ("IAM" | "Service" | "Identity_provider") : [ <principal_id_string>, ... | <service_principal_string>, ... | <identity_provider_principal_string>, ... ] <effect_block> = "Effect" : ("Allow" | "Deny") <action_block> = ("Action" | "NotAction") : [ <action_string>, <action_string>, ... ] <resource_block> = ("Resource" | "NotResource") : [ <resource_string>, <resource_string>, ... ] <condition_block> = "Condition" : { <condition_map> } <condition_map> = { <condition_type_string> : { <condition_key_string> : <condition_value_list> }, <condition_type_string> : { <condition_key_string> : <condition_value_list> }, ... } <condition_value_list> = ( <condition_value> | [ <condition_value>, <condition_value>, ... ] ) <condition_value> = "string" ``` **取值范围**： 不涉及。 **默认取值**： 不涉及。 |
| max_session_duration | 否    | Integer | **参数解释**： 信任委托最大会话时长（秒）。 **约束限制**： 不涉及。 **取值范围**： 取值范围为\[3600,43200\]。 **默认取值**： 默认值为3600。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| description          | 否    | String  | **参数解释**： 信任委托描述信息。 **约束限制**： 不涉及 **取值范围**： 长度范围为\[0,1000\]。 **默认取值**： 默认为空字符串。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   
#### 响应参数
**状态码：201**
表2响应Body参数 
| 参数     | 参数类型                                              | 描述                                                                                                                                   |
|:---|:---|:---|
| agency | [agency] object | **参数解释**： 信任委托。 **取值范围**： 不涉及。 |
   
 表3agency 
| 参数                   | 参数类型    | 描述                                                                                                                                                                                                                                                      |
|:---|:---|:---|
| urn                  | String  | **参数解释**： URN(Uniform Resource Name)统一资源名称, [参考链接](https://support.huaweicloud.com/usermanual-iam5/iam_01_1275.html)。 **取值范围**： 不涉及。              |
| trust_policy         | String  | **参数解释**： 信任委托信任策略的策略文档的json格式。 **取值范围**： 不涉及。                                                                                                    |
| created_at           | String  | **参数解释**： 信任委托创建时间。使用UTC时间格式，格式为yyyy-MM-ddTHH:mm:ss.SSSZ，例如2023-09-13T06:51:20.550Z。 **取值范围**： 不涉及。                                               |
| description          | String  | **参数解释**： 信任委托描述信息。 **取值范围**： 不涉及。                                                                                                                |
| max_session_duration | Integer | **参数解释**： 信任委托最大会话时长（秒）。 **取值范围**： 取值范围为\[3600,43200\]。                                                                                           |
| path                 | String  | **参数解释**： 资源路径，用于组织和分类资源的层级路径，类似于文件系统中的目录结构。 **取值范围**： 由若干段字符串拼接而成，长度为0\~512个字符，每段先包含一个或多个字母、数字、"."、","、"+"、"@"、"="、"_"或"-"，并以"/"结尾，例如"foo/bar/"。 |
| agency_id            | String  | **参数解释**： 信任委托ID。 **取值范围**： 长度范围为\[1,64\]，只包含字母、数字和"-"的字符串。                                                                                       |
| agency_name          | String  | **参数解释**： 信任委托名称。 **取值范围**： 长度为1到64个字符，只包含字母、数字、"_"、"+"、"="、","、"."、"@"和"-"的字符串。                                                                  |
| trust_domain_id      | String  | **参数解释**： 被委托方账号ID。 **取值范围**： 不涉及。                                                                                                                |
| trust_domain_name    | String  | **参数解释**： 被委托方账号名。 **取值范围**： 不涉及。                                                                                                                 |
   
**状态码：400**
表4响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                          |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码，请参见[错误码](https://support.huaweicloud.com/api-iam5/ErrorCode.html)。 **取值范围**： 格式为PAP5.XXXX，例如 PAP5.0012。 |
| error_msg  | String | **参数解释**： 错误信息，请参见[错误信息](https://support.huaweicloud.com/api-iam5/ErrorCode.html)。 **取值范围**： 不涉及。                     |
| request_id | String | **参数解释**： API 请求的唯一标识，用于排查接口调用异常。 **取值范围**： 不涉及。                                                                      |
   
**状态码：403**
表5响应Body参数 
| 参数                            | 参数类型   | 描述                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| error_code                    | String | **参数解释**： 错误码，请参见[错误码](https://support.huaweicloud.com/api-iam5/ErrorCode.html)。 **取值范围**： 格式为PAP5.XXXX，例如PAP5.0012。                                    |
| error_msg                     | String | **参数解释**： 错误信息，请参见[错误信息](https://support.huaweicloud.com/api-iam5/ErrorCode.html)。 **取值范围**： 不涉及。                                                       |
| request_id                    | String | **参数解释**： API请求的唯一标识，用于排查接口调用异常。 **取值范围**： 不涉及。                                                                                                         |
| encoded_authorization_message | String | **参数解释**： 认证失败时返回的加密详细信息，用于定位认证问题。 可以通过STS5解密接口进行解密，请参见[接口链接](https://support.huaweicloud.com/api-iam5/DecodeAuthorizationMessage.html)。 **取值范围**： 不涉及。 |
   
**状态码：409**
表6响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                          |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码，请参见[错误码](https://support.huaweicloud.com/api-iam5/ErrorCode.html)。 **取值范围**： 格式为PAP5.XXXX，例如 PAP5.0012。 |
| error_msg  | String | **参数解释**： 错误信息，请参见[错误信息](https://support.huaweicloud.com/api-iam5/ErrorCode.html)。 **取值范围**： 不涉及。                     |
| request_id | String | **参数解释**： API 请求的唯一标识，用于排查接口调用异常。 **取值范围**： 不涉及。                                                                      |
   
#### 请求示例
创建名为name的信任委托。
```
POST https://{endpoint}/v5/agencies
{
  "agency_name" : "example-agency-name",
  "path" : "",
  "trust_policy" : "{\"Version\":\"5.0\",\"Statement\":[{\"Action\":[\"sts:agencies:assume\",\"sts::tagSession\",\"sts::setSourceIdentity\"],\"Effect\":\"Allow\",\"Principal\":{\"IAM\":[\"xxx\"]}}]}",
  "max_session_duration" : 3600,
  "description" : "description"
}
```
#### 响应示例
**状态码：201**
```
{
  "agency" : {
    "urn" : "iam::123456789012:agency:example-agency",
    "trust_policy" : "{\"Version\":\"5.0\",\"Statement\":[{\"Action\":[\"sts:agencies:assume\",\"sts::tagSession\",\"sts::setSourceIdentity\"],\"Effect\":\"Allow\",\"Principal\":{\"IAM\":[\"xxx\"]}}]}",
    "created_at" : "2023-09-21T01:17:19.590Z",
    "description" : "description",
    "max_session_duration" : 3600,
    "path" : "",
    "agency_id" : "example-agency-id",
    "agency_name" : "example-agency-name",
    "trust_domain_id" : null,
    "trust_domain_name" : null
  }
}
```
#### 状态码
| 状态码 | 描述      |
|:---|:---|
| 201 | 请求成功。   |
| 400 | 请求体异常。  |
| 403 | 没有操作权限。 |
| 409 | 请求冲突。   |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-iam5/ErrorCode.html)。
