Skip to content

Provide better caching logic for Credentials #2868

Open
@JamesGAWS

Description

@JamesGAWS

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

  • I may be able to implement this feature request
  • This feature might incur a breaking change

SDK version used

v1.44.315

Environment details (Version of Go (go version)? OS name and version, etc.)

macOX Monterey 12.6.5 (21G531)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Cross-SDKRequires cross-sdk coordination. Implementation under considerationfeature-requestA feature should be added or improved.p2This is a standard priority issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions