Creating a Trust Agency
Function
This API is used to create a trust agency.
Authorization Information
Each account root user has all the permissions required to call all APIs, but IAM users must be assigned the following required identity policy-based permissions. For details about the required permissions, see Permissions Policies and Supported Actions.
| Action | Access Level | Resource Type (*: required) | Condition Key | Alias | Dependencies |
|---|---|---|---|---|---|
| iam:agencies:createV5 | Write | agency * | - | - | - |
URI
POST /v5/agencies
Request Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| agency_name | Yes | String | Definition Name of a trust agency. Constraints N/A Range The value contains 1 to 64 characters. Only letters, digits, underscores (_), plus signs (+), equal signs (=), commas (,), periods (.), at signs (@), and hyphens (-) are allowed. Default Value N/A |
| path | No | String | Definition Resource path. A resource path is a hierarchical path used to organize and classify resources, which is similar to the directory structure in a file system. Constraints N/A Range The value consists of one or more concatenated string segments, with a total length of 0 to 512 characters. Each segment contains one or more letters, digits, periods (.), commas (,), plus signs (+), at signs (@), equal signs (=), underscores (_), or hyphens (-), and ends with a slash (/), for example, foo/bar/. Default Value The value is an empty string by default. |
| trust_policy | Yes | String | Definition JSON format of the policy document of a trust agency's trust policy. Constraints Characters =, <, >, (, ), and | are special characters in the grammar and are not included in trust policies. The question mark (?) indicates an element is optional, for example, sid_block?. The vertical bar (|) indicates options, and the parenthesis define the range of options, for example, ("Allow" | "Deny"). When an element allows multiple values, use duplicate values, (,), and (...), for example, [ <policy_statement>, <policy_statement>, ... ]. The following recursive grammar describes the syntax of trust policies: 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" Range N/A Default Value N/A |
| max_session_duration | No | Integer | Definition: Maximum session duration of a trust agency, in seconds. Constraints: N/A Range: The value ranges from 3,600 to 43,200. Default Value: The default value is 3600. |
| description | No | String | Definition Description of a trust agency. Constraints N/A Range The value contains 0 to 1,000 characters. Default Value The value is an empty string by default. |
Response Parameters
Status code: 201
| Parameter | Type | Description |
|---|---|---|
| agency | agency object | Definition: Trust agency. Range: N/A |
| Parameter | Type | Description |
|---|---|---|
| urn | String | Definition: Uniform Resource Name (URN). For details, see Reference. Range: N/A. |
| trust_policy | String | Definition: JSON format of the policy document of a trust agency's trust policy. Range: N/A |
| created_at | String | Definition Time when the trust agency was created. The UTC time format is used. The format is yyyy-MM-ddTHH:mm:ss.SSSZ, for example, 2023-09-13T06:51:20.550Z. Range N/A |
| description | String | Definition: Description of a trust agency. Range: N/A |
| max_session_duration | Integer | Definition: Maximum session duration of a trust agency, in seconds. Range: The value ranges from 3,600 to 43,200. |
| path | String | Definition Resource path. A resource path is a hierarchical path used to organize and classify resources, which is similar to the directory structure in a file system. Range The value consists of one or more concatenated string segments, with a total length of 0 to 512 characters. Each segment contains one or more letters, digits, periods (.), commas (,), plus signs (+), at signs (@), equal signs (=), underscores (_), or hyphens (-), and ends with a slash (/), for example, foo/bar/. |
| agency_id | String | Definition Trust agency ID. Range The value contains 1 to 64 characters. Only letters, digits, and hyphens (-) are allowed. |
| agency_name | String | Definition Name of a trust agency. Range The value contains 1 to 64 characters. Only letters, digits, underscores (_), plus signs (+), equal signs (=), commas (,), periods (.), at signs (@), and hyphens (-) are allowed. |
| trust_domain_id | String | Definition: ID of the delegated account. Range: N/A |
| trust_domain_name | String | Definition: Name of the delegated account. Range: N/A |
Status code: 400
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Definition: Error code. For details, see Error Code. Range: The format is PAP5.XXXX, for example, PAP5.0012. |
| error_msg | String | Definition: Error message. For details, see Error Message. Range: N/A. |
| request_id | String | Definition: Unique identifier of an API request, which is used to locate API calling exceptions. Range: N/A |
Status code: 403
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Definition: Error code. For details, see Error Code. Range: The format is PAP5.XXXX, for example, PAP5.0012. |
| error_msg | String | Definition: Error message. For details, see Error Message. Range: N/A. |
| request_id | String | Definition: Unique identifier of an API request, which is used to locate API calling exceptions. Range: N/A |
| encoded_authorization_message | String | Definition: Encrypted details returned when the authentication fails, which are used to locate authentication problems. The STS5 decryption API can be used for decryption. For details, see API link. Range: N/A. |
Status code: 409
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Definition: Error code. For details, see Error Code. Range: The format is PAP5.XXXX, for example, PAP5.0012. |
| error_msg | String | Definition: Error message. For details, see Error Message. Range: N/A. |
| request_id | String | Definition: Unique identifier of an API request, which is used to locate API calling exceptions. Range: N/A |
Example Requests
Creating a trust agency 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"
} Example Responses
Status code: 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
}
} Status Codes
| Status Code | Description |
|---|---|
| 201 | Successful |
| 400 | Bad request |
| 403 | Forbidden |
| 409 | Conflict |
Error Codes
See Error Codes.
What is your overall rating for this page?
Thank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot