Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

A sudo-like tool to configure AWS environment variables and call programs

Project description

awsudo

A sudo-like tool to configure AWS environment variables and call programs

This script is useful for programs like Terraform, which doesn't support MFA when assuming roles.

Installation

python3 -m pip install awsudo-py

Usage

$ awsudo -p administrator@staging terraform apply

$ awsudo -p administrator@staging env | grep AWS
AWS_ACCESS_KEY_ID=AKIAIXMBKCITA257EHIQ
AWS_SECRET_ACCESS_KEY=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
usage: awsudo [-h] [-p PROFILE] PROG [ARG [ARG ...]]

Set environment variables using profile

positional arguments:
  PROG                  executable to run
  ARG                   args to run with program

optional arguments:
  -h, --help            show this help message and exit
  -p PROFILE, --profile PROFILE
                        AWS Profile to assume

Development

# install dependencies
poetry install

# run program
poetry run awsudo

Prior Art

There are a lot of similar programs to this one. I believe makethunder/awsudo and electronicarts/awsudo are the best alternatives. The only problems with makethunder/awsudo are that it isn't published on pypi and that it doesn't use the newest api for caching sessions. electronicarts/awsudo has all of the features, but it uses an internal session cache, instead of sharing with awscli. If you need SAML support though, the internal cache is a necessary compromise, so this package is great in that case.

project awscli profiles session caching SAML language published
this project yes yes no python3.6 pypi
makethunder/awsudo yes yes* no python github
electronicarts/awsudo yes yes⦿ yes ruby rubygems
pmuller/awsudo yes no no python2.7, python3.5 pypi
ingenieux/awsudo no no no golang no
meltwater/awsudo yes yes no bash, node npm, dockerhub

* supports session caching through older technique using awscli as a dependency

⦿ uses a daemon to cache sessions internally

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for awsudo-py, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size awsudo_py-0.1.1-py3-none-any.whl (41.0 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size awsudo-py-0.1.1.tar.gz (15.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page