创建服务关联委托
功能介绍
该接口可以用于创建服务关联委托。
URI
PUT /v5/service-linked-agencies
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
service_principal |
是 |
String |
服务主体,由"service."开头,后跟一个长度为1到56个字符,只包含字母、数字和"-"的字符串。 |
description |
否 |
String |
服务关联委托描述信息,不能包含特定字符"@"、"#"、"%"、"&"、"<"、">"、"\"、"$"、"^"和"*"的字符串。 最大长度:1000 |
响应参数
状态码:201
参数 |
参数类型 |
描述 |
---|---|---|
agency |
Agency 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 |
被委托方账号名,仅存在于委托中,不存在于信任委托中。 |
状态码:403
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误信息。 |
request_id |
String |
请求ID。 |
encoded_authorization_message |
String |
加密后的认证失败信息,可以通过STS5解密接口进行解密。 |
状态码:404
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误信息。 |
request_id |
String |
请求ID。 |
状态码:409
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误信息。 |
request_id |
String |
请求ID。 |
请求示例
创建服务主体为service.xxx的服务关联委托。
PUT https://{endpoint}/v5/service-linked-agencies { "service_principal" : "service.xxx", "description" : "description" }
响应示例
状态码:201
请求成功。
{ "agency" : { "urn" : "iam::accountid:agency:service-linked-agency/service.xxx/name", "trust_policy" : "{\"Version\":\"5.0\",\"Statement\":[{\"Action\":[\"sts:agencies:assume\",\"sts::tagSession\",\"sts::setSourceIdentity\"],\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"service.xxx\"]}}]}", "created_at" : "2023-09-11T10:13:25.414Z", "description" : "description", "max_session_duration" : 3600, "path" : "service-linked-agency/service.xxx/", "agency_id" : "id", "agency_name" : "name", "trust_domain_id" : null, "trust_domain_name" : null } }
状态码
状态码 |
描述 |
---|---|
201 |
请求成功。 |
403 |
没有操作权限。 |
404 |
未找到相应的资源。 |
409 |
请求冲突。 |
错误码
请参见错误码。