Generates AWS credentials for roles using STS
Project description
Generates AWS credentials for roles using STS and writes them to `~/.aws/credentials`
Usage
Simply pipe a SAML assertion into awssaml
# create credentials from saml assertion
$ oktaauth -u jobloggs | aws_role_credentials saml --profile dev
Or for assuming a known role name:
# create credentials from saml assertion using a known role ARN
$ oktaauth -u jobloggs | aws_role_credentials saml --profile dev --role-arn arn:aws:iam::098765432109:role/ReadOnly
Or for assuming a role using an IAM user:
# create credentials from an iam user
$ aws_role_credentials user \
arn:aws:iam::111111:role/dev jobloggs-session \
--profile dev
For roles that require MFA:
# create credentials from an iam user with mfa
$ aws_role_credentials user \
arn:aws:iam::111111:role/dev jobloggs-session \
--profile dev \
--mfa-serial-number arn:aws:iam::111111:mfa/Jo \
--mfa-token 102345
Transient mode
`aws_role_credentials` also supports ‘transient’ mode where the credentials are passed to a command as environment variables within the process. This adds an extra layer of safety and convinience.
To use transient mode simply pass a command to the `--exec` option like so:
# run 'aws s3 ls' with the generated role credentials from an iam user
$ aws_role_credentials user \
arn:aws:iam::111111:role/dev jobloggs-session \
--exec 'aws s3 ls'
Options
- --profile
Use a specific profile in your credential file (e.g. Development). Defaults to sts.
- --region
The region to use. Overrides config/env settings. Defaults to us-east-1.
- --role-arn
Optional role ARN to use when multiple roles are available.
- --exec
The command to execute with the AWS credentials
Thanks
Thanks to Quint Van Deman of AWS for demonstrating how to do this. https://blogs.aws.amazon.com/security/post/Tx1LDN0UBGJJ26Q/How-to-Implement-Federated-API-and-CLI-Access-Using-SAML-2-0-and-AD-FS
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for aws_role_credentials-0.6.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04d3e5b8223b2d04a8fb1eaac7f7300a657593e5e8f48ae8333053c333c4b8a0 |
|
MD5 | cc439041b6533bba418eea8d30721f5c |
|
BLAKE2b-256 | 7da0cda6e2d31190fc1fcec0cfb547dd2d5143d1b5348288725adec9a911ee98 |
Hashes for aws_role_credentials-0.6.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 372151ac7e7470305fd5eb782bbd99f84759a59fbb10f501566e1514e787f8fb |
|
MD5 | 8b1016f49d743ef224aff09e95f29981 |
|
BLAKE2b-256 | 1ed332dba1f6826fd9ac5dfb91902014e8a1880bcceffae0147c3b5df9804533 |