A wrapper for executing a command using AWS Assumed Role
Project description
Wrapper script to generate and pass AWS AssumeRole keys to other scripts
Usage
There are two primary ways to use aws-profile, inline using arguments and with environment variables.
Inline Profile Name
aws-profile [-p, –profile <profile name> -r, –region <region>] <command>
Profile Environment Variable
aws-profile –profile dev –region us-west-2 <command> or aws-profile -p dev -r us-west-2 <command>
Options
AWS_CACHE: Set the AWS_CACHE environment variable to control caching. Use AWS_CACHE=false to disable caching, or any other value (or unset) to keep caching enabled. When set to false the MFA code will be requested every time.
Configuring Profiles
aws-profile uses the built in profiles from the AWS CLI. For full details see Named Profiles in the AWS Documentation.
Here is an example of how to configure a profile for a role, with MFA:
[profile my_profile] role_arn = arn:aws:iam::<account_id>:role/<role_name> source_profile = default mfa_serial = arn:aws:iam::<account_id>:mfa/<username>
Where <account_id> is your AWS Account ID, <role_name> is the name of the role you want to assume, and <username> is the username of the AWS User used fo your default profile.
Development
Clone from github (or preferably from your own fork)
git clone https://github.com/jrstarke/aws-profile.git
Create a clean virtual environment examples for virtualenv and pyenv with virtualenv wrapper
virtualenv venv source venv/bin/activate
or
pyenv virtualenv aws-profile pyenv activate aws-profile
Install the development dependencies
pip install -e ".[dev]"
Run the tests before making changes and then again before creating a pull request (There will be 3 warnings about external dependencies which can be ignored)
pytest --cov=awsprofile --cov-report term-missing
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
File details
Details for the file aws-profile-0.6.1.tar.gz
.
File metadata
- Download URL: aws-profile-0.6.1.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.44.1 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83ed35e71a70193c3886005fa5fdb6466df6601be5da4b3bbed579709e481363 |
|
MD5 | 8db46e58d9fe2f07aecfb6f9b7853270 |
|
BLAKE2b-256 | c28a02464ad132f1a74496c585b8aa36ebf9e74d7abe434354d02ac047264b79 |
File details
Details for the file aws_profile-0.6.1-py3-none-any.whl
.
File metadata
- Download URL: aws_profile-0.6.1-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.44.1 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 405325430f0c728714faeed63ba49ab6e5ea7198ccf8a11018e11e319986c451 |
|
MD5 | 259e512772e92dc58b340ee57d100f4d |
|
BLAKE2b-256 | 8fd88233630ba396660272f9091dd9f6b38bfe387d5fa6293930eef1ad9a6575 |