创建信任委托
功能介绍
该接口可以用于创建信任委托。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v5/agencies
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
agency_name |
是 |
String |
信任委托名称,长度为1到64个字符,只包含字母、数字、"_"、"+"、"="、","、"."、"@"和"-"的字符串。 |
|
path |
否 |
String |
资源路径,默认为空串。由若干段字符串拼接而成,每段先包含一个或多个字母、数字、"."、","、"+"、"@"、"="、"_"或"-",并以"/"结尾,例如"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") : [ <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秒,取值范围为[3600,43200]。 |
|
description |
否 |
String |
信任委托描述信息,默认为空串,字符串最大长度为1000。 最大长度:1000 |
响应参数
状态码:201
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
agency |
TrustAgency object |
信任委托。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
urn |
String |
统一资源名称。 |
|
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" |
|
created_at |
String |
信任委托创建时间。 |
|
description |
String |
信任委托描述信息。 |
|
max_session_duration |
Integer |
信任委托最大会话时长,默认为3600秒,取值范围为[3600,43200]。 |
|
path |
String |
资源路径,默认为空串。由若干段字符串拼接而成,每段先包含一个或多个字母、数字、"."、","、"+"、"@"、"="、"_"或"-",并以"/"结尾,例如"foo/bar/"。 |
|
agency_id |
String |
信任委托ID,长度为1到64个字符,只包含字母、数字和"-"的字符串。 |
|
agency_name |
String |
信任委托名称,长度为1到64个字符,只包含字母、数字、"_"、"+"、"="、","、"."、"@"和"-"的字符串。 |
|
trust_domain_id |
String |
被委托方账号ID,仅存在于委托中,不存在于信任委托中。 |
|
trust_domain_name |
String |
被委托方账号名,仅存在于委托中,不存在于信任委托中。 |
状态码:400
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
错误码。 |
|
error_msg |
String |
错误信息。 |
状态码:403
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
错误码。 |
|
error_msg |
String |
错误信息。 |
|
request_id |
String |
请求ID。 |
|
encoded_authorization_message |
String |
加密后的认证失败信息,可以通过STS5解密接口进行解密。 |
状态码:409
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
错误码。 |
|
error_msg |
String |
错误信息。 |
|
request_id |
String |
请求ID。 |
请求示例
创建名为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 |
请求冲突。 |
错误码
请参见错误码。