The AWS Security Token Service (STS) is a web service that enables you to request temporary, limited-privilege credentials for AWS Identity and Access Management (IAM) users or for users that you authenticate (federated users). This guide provides descriptions of the STS API. For more detailed information about using this service, go to Temporary Security Credentials.
For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about the Query API, go to Making Query Requests in Using IAM. For information about using security tokens with other AWS products, go to AWS Services That Work with IAM in the IAM User Guide.
If you're new to AWS and need additional technical information about a specific AWS product, you can find the product's technical documentation at http://aws.amazon.com/documentation/.
By default, AWS Security Token Service (STS) is available as a global service, and all AWS STS requests go to a single endpoint at
https://sts.amazonaws.com. Global requests map to the US East (N. Virginia) region. AWS recommends using Regional AWS STS endpoints instead of the global endpoint to reduce latency, build in redundancy, and increase session token validity. For more information, see Managing AWS STS in an AWS Region in the IAM User Guide.
Most AWS Regions are enabled for operations in all AWS services by default. Those Regions are automatically activated for use with AWS STS. Some Regions, such as Asia Pacific (Hong Kong), must be manually enabled. To learn more about enabling and disabling AWS Regions, see Managing AWS Regions in the AWS General Reference. When you enable these AWS Regions, they are automatically activated for use with AWS STS. You cannot activate the STS endpoint for a Region that is disabled. Tokens that are valid in all AWS Regions are longer than tokens that are valid in Regions that are enabled by default. Changing this setting might affect existing systems where you temporarily store tokens. For more information, see Managing Global Endpoint Session Tokens in the IAM User Guide.
After you activate a Region for use with AWS STS, you can direct AWS STS API calls to that Region. AWS STS recommends that you provide both the Region and endpoint when you make calls to a Regional endpoint. You can provide the Region alone for manually enabled Regions, such as Asia Pacific (Hong Kong). In this case, the calls are directed to the STS Regional endpoint. However, if you provide the Region alone for Regions enabled by default, the calls are directed to the global endpoint of
To view the list of AWS STS endpoints and whether they are active by default, see Writing Code to Use AWS STS Regions in the IAM User Guide.
Recording API requests
STS supports AWS CloudTrail, which is a service that records AWS calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information collected by CloudTrail, you can determine what requests were successfully made to STS, who made the request, when it was made, and so on.
If you activate AWS STS endpoints in Regions other than the default global endpoint, then you must also turn on CloudTrail logging in those Regions. This is necessary to record any AWS STS API calls that are made in those Regions. For more information, see Turning On CloudTrail in Additional Regions in the AWS CloudTrail User Guide.
AWS Security Token Service (STS) is a global service with a single endpoint at
https://sts.amazonaws.com. Calls to this endpoint are logged as calls to a global service. However, because this endpoint is physically located in the US East (N. Virginia) Region, your logs list
us-east-1 as the event Region. CloudTrail does not write these logs to the US East (Ohio) Region unless you choose to include global service logs in that Region. CloudTrail writes calls to all Regional endpoints to their respective Regions. For example, calls to sts.us-east-2.amazonaws.com are published to the US East (Ohio) Region and calls to sts.eu-central-1.amazonaws.com are published to the EU (Frankfurt) Region.
To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.
Contains the response to a successful AssumeRole request, including temporary AWS credentials that can be used to make AWS requests.
Contains the response to a successful AssumeRoleWithSAML request, including temporary AWS credentials that can be used to make AWS requests.
Contains the response to a successful AssumeRoleWithWebIdentity request, including temporary AWS credentials that can be used to make AWS requests.
The identifiers for the temporary security credentials that the operation returns.
AWS credentials for API authentication.
A document that contains additional information about the authorization status of a request from an encoded message that is returned in response to an AWS request.
Identifiers for the federated user that is associated with the credentials.
Contains the response to a successful GetCallerIdentity request, including information about the entity making the request.
Contains the response to a successful GetFederationToken request, including temporary AWS credentials that can be used to make AWS requests.
Contains the response to a successful GetSessionToken request, including temporary AWS credentials that can be used to make AWS requests.
A reference to the IAM managed policy that is passed as a session policy for a role session or a federated user session.
AwsCredentials provider that calls
A client for the AWS STS API.
AwsCredentials provider that calls
You can pass custom key-value pair attributes when you assume a role or federate a user. These are called session tags. You can then use the session tags to control access to resources. For more information, see Tagging AWS STS Sessions in the IAM User Guide.
WebIdentityProvider using OpenID Connect bearer token to retrieve AWS IAM credentials.
Errors returned by AssumeRole
Errors returned by AssumeRoleWithSAML
Errors returned by AssumeRoleWithWebIdentity
Errors returned by DecodeAuthorizationMessage
Errors returned by GetAccessKeyInfo
Errors returned by GetCallerIdentity
Errors returned by GetFederationToken
Errors returned by GetSessionToken
Trait for conversions from STS Credentials to AWS Credentials.
Trait representing the capabilities of the AWS STS API. AWS STS clients implement this trait.