Obtaining a Temporary Access Key and Security Token Through a Token
Function
This API is used to obtain a temporary access key and a security token through a token. Temporary access keys and security tokens are issued by the system to IAM users, and can be valid for 15 minutes to 24 hours. Temporary access keys and security tokens are granted with the least privilege.
The API can be called using both the global endpoint and region-specific endpoints. For IAM endpoints, see Regions and Endpoints.
A temporary access key must be used together with a security token, and the x-security-token field must be included in the request header. For details, see How Do I Use a Temporary AK/SK to Sign Requests?
Debugging
You can debug this API in API Explorer.
URI
POST /v3.0/OS-CREDENTIAL/securitytokens
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
Content-Type |
Yes |
String |
Fill application/json;charset=utf8 in this field. |
X-Auth-Token |
Yes |
String |
IAM user token, federated user token, or agency token. You can obtain the token from the response parameter X-Subject-Token by calling the API for obtaining the token or agency token of an IAM user or obtaining the token of a federated user. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
Yes |
Object |
Authentication information. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
methods |
Yes |
Array of strings |
Authentication method. The value of this field is ["token"]. |
No |
Object |
Validity period of a temporary access key and security token. |
|
No |
Object |
Permissions to be assigned to the temporary access key and security token (currently the policy only applies to OBS). The final permissions of the temporary access key and security token are the intersection of permissions assigned to the specified user token and defined in this parameter. For details about the format and syntax of IAM policies, see Policies. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
Version |
Yes |
String |
Policy version. When creating a custom policy, set this parameter to 1.1.
NOTE:
1.1: Policy. A policy defines the permissions required to perform operations on a specific cloud resource under certain conditions. |
Yes |
Array of objects |
Statement of the policy. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
Action |
Yes |
Array of strings |
Specific operation permissions on a resource. For details about supported actions, see "Permissions and Supported Actions" in the API Reference of cloud services.
NOTE:
|
Effect |
Yes |
String |
Effect of the permission. The value can be Allow or Deny. If both Allow and Deny statements are found in a policy, the authentication starts from the Deny statements. Options:
|
Condition |
No |
Map<String,Map<String,Array<String>>> |
Conditions for the permission to take effect. For details, see Policy Syntax.
NOTE:
In the following request example, the policy is in effect only when DomainName is set to DomainNameExample. "Condition": { "StringEquals": { "g:DomainName": [ "DomainNameExample" ] } } |
Resource |
No |
Array of strings |
Cloud resource.
NOTE:
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
id |
No |
String |
Token. This parameter is mandatory if X-Auth-Token is not specified in the request header. |
duration_seconds |
No |
Integer |
Validity period (in seconds) of a temporary access key and security token. The value ranges from 15 minutes to 24 hours. The default value is 15 minutes. |
Response Parameters
Parameter |
Type |
Description |
---|---|---|
Object |
Authentication result. |
Example Request
- Request with token (specifying the validity period of a temporary access key and security token)
POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens
{ "auth": { "identity": { "methods": [ "token" ], "token": { "id": "MIIEIgYJKoZIhvc...", "duration_seconds": "900" } } } }
- Request with the X-Auth-Token header but without the token parameter
POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens
{ "auth": { "identity": { "methods": [ "token" ] } } }
- Request with policy set to control the permissions assigned to the obtained temporary access key and security token (currently the policy applies only to OBS). The final permissions of the temporary access key and security token are the intersection of permissions assigned to the specified user token and defined in this parameter.
POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens
{ "auth": { "identity": { "methods": [ "token" ], "policy": { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "obs:object:GetObject" ], "Resource": [ "OBS:*:*:object:*" ], "Condition": { "StringEquals": { "g:DomainName": [ "DomainNameExample" //Example condition value. Replace it with the actual value. ] } } } ] }, "token": { "duration_seconds": 900 } } } }
Example Response
Status code: 201
The request is successful.
{ "credential": { "access": "NZFAT5VNWEJDGZ4PZ...", "expires_at": "2020-01-08T03:50:07.574000Z", "secret": "riEoWsy3qO0BvgwfkoLVgCUvzgpjBBcvdq...", "securitytoken": "gQpjbi1ub3J0aC00jD4Ej..." } }
Status Codes
Status Code |
Description |
---|---|
201 |
The request is successful. |
400 |
Invalid parameters. |
401 |
Authentication failed. |
403 |
Access denied. |
500 |
Internal server error. |
Error Codes
None
Feedback
Was this page helpful?
Provide feedbackThank 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