更新时间:2026-05-14 GMT+08:00
分享

创建信任委托 - CreateAgencyV5

功能介绍

该接口可以用于创建信任委托。

信任委托只能授予身份策略且仅兼容支持身份策略的云服务,详情见支持身份策略与信任委托的云服务列表

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

授权信息

账号根用户具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备如下身份策略权限,更多的权限说明请参见权限和授权项

授权项

访问级别

资源类型(*为必须)

条件键

别名

依赖的授权项

iam:agencies:createV5

Write

agency *

-

-

-

URI

POST /v5/agencies

请求参数

表1 请求Body参数

参数

是否必选

参数类型

描述

agency_name

String

参数解释

信任委托名称。

约束限制

长度为1到64个字符,只包含字母、数字、"_"、"+"、"="、","、"."、"@"和"-"的字符串。

取值范围

不涉及。

默认取值

不涉及。

path

String

参数解释

资源路径。

约束限制

由若干段字符串拼接而成,每段先包含一个或多个字母、数字、"."、","、"+"、"@"、"="、"_"或"-",并以"/"结尾,例如"foo/bar/"。

长度范围为[0,512]。

取值范围

不涉及。

默认取值

默认为空字符串。

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") : [ <principal_id_string>, ... | <service_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

参数解释

信任委托。

取值范围

不涉及。

表3 agency

参数

参数类型

描述

urn

String

参数解释

URN(Uniform Resource Name)统一资源名称, 参考链接

取值范围

不涉及。

trust_policy

String

参数解释

信任委托信任策略的策略文档的json格式。

取值范围

不涉及。

created_at

String

参数解释

信任委托创建时间。

取值范围

不涉及。

description

String

参数解释

信任委托描述信息。

取值范围

不涉及。

max_session_duration

Integer

参数解释

信任委托最大会话时长(秒)。

取值范围

取值范围为[3600,43200]。

path

String

参数解释

资源路径。

取值范围

不涉及。

agency_id

String

参数解释

信任委托ID。

取值范围

不涉及。

agency_name

String

参数解释

信任委托名称。

取值范围

不涉及。

trust_domain_id

String

参数解释

被委托方账号ID。

取值范围

不涉及。

trust_domain_name

String

参数解释

被委托方账号名。

取值范围

不涉及。

状态码:400

表4 响应Body参数

参数

参数类型

描述

error_code

String

参数解释

错误码,请参见错误码

取值范围

格式为PAP5.XXXX,例如 PAP5.0012。

error_msg

String

参数解释

错误信息,请参见错误信息

取值范围

不涉及。

request_id

String

参数解释

API 请求的唯一标识,用于排查接口调用异常。

取值范围

不涉及。

状态码:403

表5 响应Body参数

参数

参数类型

描述

error_code

String

参数解释

错误码,请参见错误码

取值范围

格式为PAP5.XXXX,例如PAP5.0012。

error_msg

String

参数解释

错误信息,请参见错误消息

取值范围

不涉及。

request_id

String

参数解释

API请求的唯一标识,用于排查接口调用异常。

取值范围

不涉及。

encoded_authorization_message

String

参数解释

认证失败时返回的加密详细信息,用于定位认证问题。 可以通过STS5解密接口进行解密,请参见接口链接

取值范围

不涉及。

状态码:409

表6 响应Body参数

参数

参数类型

描述

error_code

String

参数解释

错误码,请参见错误码

取值范围

格式为PAP5.XXXX,例如 PAP5.0012。

error_msg

String

参数解释

错误信息,请参见错误信息

取值范围

不涉及。

request_id

String

参数解释

API 请求的唯一标识,用于排查接口调用异常。

取值范围

不涉及。

请求示例

创建名为name的信任委托。

POST https://{endpoint}/v5/agencies

{
  "agency_name" : "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::accountid:agency:name",
    "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" : "string",
    "agency_name" : "name",
    "trust_domain_id" : null,
    "trust_domain_name" : null
  }
}

状态码

状态码

描述

201

请求成功。

400

请求体异常。

403

没有操作权限。

409

请求冲突。

错误码

请参见错误码

相关文档