Skip to content

This utility makes it easier to switch between multiple AWS profiles

License

Notifications You must be signed in to change notification settings

kartikra/assumerole

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

assumerole

This python package was inspired by the GO implementation of assume-role. This utility makes it easier to switch between multiple AWS profiles.

Pre-requisite

  • aws sdk should be installed
  • aws credentials are provided under ~/.aws/credentials
  • all the aws profiles are created correctly under ~/.aws/config

This utility uses sts utility within the boto3 package. You can learn more about sts command under awscli

Installation:

pip install assumerole For using latest test version (under development) pip install --index-url https://test.pypi.org/simple/ assumerole

Usage

assume --profile <aws-profile-name> or assume -p <aws-profile-name>

You may be prompted to pass your MFA code if its required

By default, the tokens returned are cached under the folder ~/.aws/cached_tokens Only if the token has expired, will new tokens be requested from AWS. You can also find a history of all successful commands in the file ~/.aws/assume_role_history

In case you do not want to use your cached tokens use the optional refresh parameter

assume --profile <aws-profile-name> --refresh or assume -p <aws-profile-name> -r

In case you do not want to set the expirty time on the token optional duration parameter Default is 8 hours and maximum value is 12 (set by AWS)

assume --profile <aws-profile-name> --duration 10 or assume -p <aws-profile-name> -d 10

TODO:

  • Perform comprehensive coverage testing. Once package is tested fully, it will be made available in pypi.org
  • In the meantime, do test it out and feel free to submit PRs

About

This utility makes it easier to switch between multiple AWS profiles

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages