GetCallerIdentity
Returns details about the IAM user or role whose credentials are used to call the operation.
Note
No permissions are required to perform this operation. If an administrator attaches a policy to your identity that explicitly denies access to the sts:GetCallerIdentity action, you can still perform this operation. Permissions are not required because the same information is returned when access is denied. To view an example response, see I Am Not Authorized to Perform: iam:DeleteVirtualMFADevice in the IAM User Guide.
Response Elements
The following elements are returned by the service.
- Account
-
The AWS account ID number of the account that owns or contains the calling entity.
Type: String
- Arn
-
The AWS ARN associated with the calling entity.
Type: String
Length Constraints: Minimum length of 20. Maximum length of 2048.
Pattern:
[\u0009\u000A\u000D\u0020-\u007E\u0085\u00A0-\uD7FF\uE000-\uFFFD\u10000-\u10FFFF]+ - UserId
-
The unique identifier of the calling entity. The exact value depends on the type of entity that is making the call. The values returned are those listed in the aws:userid column in the Principal table found on the Policy Variables reference page in the IAM User Guide.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors.
Examples
Example 1 - Called by an IAM user
This example shows a request and response made with the credentials for a user named Alice in the AWS account 123456789012.
Sample Request
POST / HTTP/1.1 Host: sts.amazonaws.com Accept-Encoding: identity Content-Length: 32 Content-Type: application/x-www-form-urlencoded Authorization: AWS4-HMAC-SHA256 Credential=AKIAI44QH8DHBEXAMPLE/20160126/us-east-1/sts/aws4_request, SignedHeaders=host;user-agent;x-amz-date, Signature=1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef X-Amz-Date: 20160126T215751Z User-Agent: aws-cli/1.10.0 Python/2.7.3 Linux/3.13.0-76-generic botocore/1.3.22 Action=GetCallerIdentity&Version=2011-06-15 Sample Response
HTTP/1.1 200 OK x-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef Content-Type: text/xml Content-Length: 357 Date: Tue, 26 Jan 2016 21:57:47 GMT <GetCallerIdentityResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/"> <GetCallerIdentityResult> <Arn>arn:aws:iam::123456789012:user/Alice</Arn> <UserId>AIDACKCEVSQ6C2EXAMPLE</UserId> <Account>123456789012</Account> </GetCallerIdentityResult> <ResponseMetadata> <RequestId>01234567-89ab-cdef-0123-456789abcdef</RequestId> </ResponseMetadata> </GetCallerIdentityResponse> Example 2 - Called by user created with AssumeRole
This example shows a request and response made with temporary credentials created by AssumeRole. The name of the assumed role is my-role-name, and the RoleSessionName is set to my-role-session-name.
Sample Request
POST / HTTP/1.1 Host: sts.amazonaws.com Accept-Encoding: identity Content-Length: 43 X-Amz-Date: 20160301T213302Z User-Agent: aws-cli/1.10.0 Python/2.7.3 Linux/3.13.0-79-generic botocore/1.3.22 X-Amz-Security-Token:<REDACTED> Content-Type: application/x-www-form-urlencoded Authorization: AWS4-HMAC-SHA256 Credential=AKIAI44QH8DHBEXAMPLE/20160301/us-east-1/sts/aws4_request, SignedHeaders=host;user-agent;x-amz-date;x-amz-security-token, Signature=1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef Action=GetCallerIdentity&Version=2011-06-15 Sample Response
HTTP/1.1 200 OK x-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef Content-Type: text/xml Content-Length: 438 Date: Tue, 01 Mar 2016 21:32:59 GMT <GetCallerIdentityResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/"> <GetCallerIdentityResult> <Arn>arn:aws:sts::123456789012:assumed-role/my-role-name/my-role-session-name</Arn> <UserId>ARO123EXAMPLE123:my-role-session-name</UserId> <Account>123456789012</Account> </GetCallerIdentityResult> <ResponseMetadata> <RequestId>01234567-89ab-cdef-0123-456789abcdef</RequestId> </ResponseMetadata> </GetCallerIdentityResponse> Example 3 - Called by user created with GetFederationToken
This example shows a request and response made with temporary credentials created by using GetFederationToken. The Name parameter is set to my-federated-user-name.
Sample Request
POST / HTTP/1.1 Host: sts.amazonaws.com Accept-Encoding: identity Content-Length: 43 X-Amz-Date: 20160301T215108Z User-Agent: aws-cli/1.10.0 Python/2.7.3 Linux/3.13.0-79-generic botocore/1.3.22 X-Amz-Security-Token:<REDACTED> Content-Type: application/x-www-form-urlencoded Authorization: AWS4-HMAC-SHA256 Credential=AKIAI44QH8DHBEXAMPLE/20160301/us-east-1/sts/aws4_request, SignedHeaders=host;user-agent;x-amz-date;x-amz-security-token, Signature=1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef Action=GetCallerIdentity&Version=2011-06-15 Sample Response
HTTP/1.1 200 OK x-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef Content-Type: text/xml Content-Length: 437 Date: Tue, 01 Mar 2016 21:51:06 GMT <GetCallerIdentityResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/"> <GetCallerIdentityResult> <Arn>arn:aws:sts::123456789012:federated-user/my-federated-user-name</Arn> <UserId>123456789012:my-federated-user-name</UserId> <Account>123456789012</Account> </GetCallerIdentityResult> <ResponseMetadata> <RequestId>01234567-89ab-cdef-0123-456789abcdef</RequestId> </ResponseMetadata> </GetCallerIdentityResponse> See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: