Skip to main content

A program to create deterministic zip files.

Project description

aws_longer

aws_longer is a tool to replace assume-role with a few significant benefits:

  1. MFA tokens need only be entered once every 36 hours.
  2. Sessions can be shared across terminals, and persist across reboots.

Both of the above are accomplished by storing the session credentials, and assumed credentials in the user's keychain.

Installation

Install this package via:

pip install aws_longer

Assuming a Role

aws_longer role ROLENAME AWS_ACCOUNT

The above will open a new shell setting the appropriate AWS_ environment variables. If this is the first time you are running this command, or it has been 36 hours since you last input your MFA token, then you will be prompted to input your MFA token.

AWS_ACCOUNT can either be an AWS account ID, or an alias to an AWS account ID.

If you'd like to prevent opening a new shell, you can instead run, but be careful because if there are any errors, the result will terminate your shell-program:

exec aws_longer role ROLENAME AWS_ACCOUNT

Using the Temporary Session

Rather than assuming a specific role, one can directly utilize the 36-hour temporary session via:

aws_longer

Using this temporary session is beneficial if, for example, you require MFA to assume roles, and you'd like to be able to run terraform apply with a provider that assumes a specific role.

AWS Account ID Alias

AWS account ID aliases can be defined in ~/.aws/accounts, which is a JSON file of the following format:

{
  "default": "123456789012",
  "staging": "123456789012",
  "production": "123456789012"
}

This aliasing format is the same as was used in assume-role in order to ease transitioning.

Avoid token prompting

If you happen to use a program to generate your MFA token, you might prefer to pass the token directly as part of the command invocation instead of via a prompt to STDIN. Do that via:

aws_longer --mfa-token role ROLENAME AWS_ACCOUNT

In said cases, the MFA token will only be used if it's necessary to do so.

Project details


Download files

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

Source Distribution

aws_longer-0.2.0.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

aws_longer-0.2.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file aws_longer-0.2.0.tar.gz.

File metadata

  • Download URL: aws_longer-0.2.0.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.8.0 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for aws_longer-0.2.0.tar.gz
Algorithm Hash digest
SHA256 8131ac182c20a2d0a4356e92784170c1e307c69676dc82521376d768f0a794f9
MD5 4587168d6d5064cae0d461bafcf1ba37
BLAKE2b-256 9ee9b48a51279488311e0f82c179e91f02fa1958d62acae48582e2ad4db74850

See more details on using hashes here.

Provenance

File details

Details for the file aws_longer-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: aws_longer-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.8.0 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for aws_longer-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 815c4a0b9376e1a9876a224ec46d7ddf6c07c9a89f934f5851f3c0ead0ec50b7
MD5 5e4a5a18882287bc6700894bdbdb6efa
BLAKE2b-256 ee7e5588d57303b5c9232c0333f3e8d6e08aa0fd43a5e4a5c57843708fe0ceeb

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page