Default STS Client uses global endpoint but recommendation is now regional endpoints #3310
Open
1 of 2 tasks
Labels
documentation
This is a problem with documentation.
feature-request
This issue requests a feature.
p2
This is a standard priority issue
sts
Describe the feature
Around 2022, AWS announced that all new SDKs would change the default STS endpoint behavior from the
legacy
endpoint toregional
as documented here.This is used when clients call
sts:AssumeRole
. Using thelegacy
behavior, clients connect tosts.amazonaws.com,
which lives inus-east-1.
Workloads outside of that region using this configuration unknowingly depend on that region since they are not using theregional
endpoint where their code runs.botocore was never updated, so today, all calls to the STS API, unless otherwise explicitly configured, will use the "global" endpoint in
us-east-1.
There was an outage in Aug 2024 which impacted STS in
us-east-1
.Had botocore been updated, this specific event would not have impaired workloads running in other regions using a default client.
This PR attempts to align the new "default" to
regional
as specified by the documentation.Should you require the old behavior, you can always set the environment variable to override the new default back to
legacy
(as documented):A follow-up change to the documentation here will be needed to reflect this change.
Use Case
Any workload running in a region should, by default, use the regional STS endpoint for role assumption.
Proposed Solution
I've started a pull request here with the proposed change to the defaults, so the default will select
regional
endpoints rather than thelegacy
configuration if no additional configuration is specified.Other Information
No response
Acknowledgements
SDK version used
Any current boto3 version
Environment details (OS name and version, etc.)
N/A - changes to SDK defaults
The text was updated successfully, but these errors were encountered: