aws-credentials-sts
This package provides STS-based credential resolvers and a chain provider:
AssumeRoleCredentialsResolver- assumes an explicitrole_arnusing credentials from asource_resolver.ProfileAssumeRoleCredentialsResolver- assumes a role configured in a named profile in the shared config/credentials files.
Installation
uv pip install aws-credentials-sts
Once installed, the provider registers itself with the SDK's modular credential
chain. When a client resolves credentials through the default chain, it
will attempt to assume the role configured in the active profile
(role_arn/source_profile/credential_source), unless a higher-precedence
source resolves credentials first.
Client Configuration
To use this resolver explicitly, set the aws_credentials_identity_resolver
property on a service client's config to an AssumeRoleCredentialsResolver
instance. It assumes role_arn using credentials from the source_resolver:
from aws_credentials_sts import AssumeRoleCredentialsResolver
from smithy_aws_core.identity import EnvironmentCredentialsResolver
service_client = ServiceClient(
config=ServiceClientConfig(
aws_credentials_identity_resolver=AssumeRoleCredentialsResolver(
source_resolver=EnvironmentCredentialsResolver(),
role_arn="arn:aws:iam::123456789012:role/example-role",
),
)
)
To assume the role defined in a named profile instead, use
ProfileAssumeRoleCredentialsResolver with a MergedConfig loaded from the
shared config/credentials files:
from aws_credentials_sts import ProfileAssumeRoleCredentialsResolver
from smithy_aws_core.config import load_config
async def build_client() -> ServiceClient:
return ServiceClient(
config=ServiceClientConfig(
aws_credentials_identity_resolver=ProfileAssumeRoleCredentialsResolver(
profile_name="my-profile",
config_file=await load_config(),
),
)
)
Standalone
Either resolver can also be used on its own to fetch credentials directly:
import asyncio
from aws_credentials_sts import AssumeRoleCredentialsResolver
from smithy_aws_core.identity import EnvironmentCredentialsResolver
async def main() -> None:
resolver = AssumeRoleCredentialsResolver(
source_resolver=EnvironmentCredentialsResolver(),
role_arn="arn:aws:iam::123456789012:role/example-role",
)
identity = await resolver.get_identity(properties={})
asyncio.run(main())
Metadata
Release files for aws-credentials-sts 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| aws_credentials_sts-0.4.0.tar.gz | 6.0 kB | Without provenance | Details for aws_credentials_sts-0.4.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| aws_credentials_sts-0.4.0-py3-none-any.whl | Python 3 | none | any | Details for aws_credentials_sts-0.4.0-py3-none-any.whl |
Total release size: 13.4 kB
Release files / aws_credentials_sts-0.4.0.tar.gz
| Download URL | aws_credentials_sts-0.4.0.tar.gz |
|---|---|
| Size | 6.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1fbf9050cbc9348472404f7f7cca2e144372d5e0e5aae5cf2c74717cb90e5b93
|
|
BLAKE2b-256 checksum How to use checksums |
fba2b407009b5e2ffd0f017f580aa70950ed734ad5532608bbf4e4f29e813040
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Amazon Linux","version":"2023","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / aws_credentials_sts-0.4.0-py3-none-any.whl
| Download URL | aws_credentials_sts-0.4.0-py3-none-any.whl |
|---|---|
| Size | 7.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
72b7fa690b6235231235213e668608c7ac5a559a699325ba7f0aa3f3e91f7489
|
|
BLAKE2b-256 checksum How to use checksums |
a4e8edc067e59c6f009865dbdfec7077bdd6c30c744011c675608b7d8d8bbe9c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Amazon Linux","version":"2023","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for aws-credentials-sts 0.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.