Provide better caching logic for Credentials #2868
Labels
Cross-SDK
Requires cross-sdk coordination. Implementation under consideration
feature-request
A feature should be added or improved.
p2
This is a standard priority issue
Describe the feature
Add a feature that would permit credentials.Credentials to return the last successful retrieved tokens if the configured credentials provider is unable to assume new credentials.
Use Case
This feature provides resiliency to TMDS, IMDS and STS service disruptions. The intended usage would be to set the max session duration on a role for 4-8 hours, set the session duration to that length, and for credentials to rotate more frequently (every hour for example). In the event of an outage in creds vending infrastructure, credentials would persist for 3-7 hours providing time for service to be restored without impacting clients.
Proposed Solution
This feature could be implemented at the credentials.Credentials.Get() method, or in the AssumeRoleProviderProvider.Retrieve() method.
Other Information
No response
Acknowledgements
SDK version used
v1.44.315
Environment details (Version of Go (
go version
)? OS name and version, etc.)macOX Monterey 12.6.5 (21G531)
The text was updated successfully, but these errors were encountered: