Skip to main content

A small CLI to help with creating AWS profile for MFA protected sessions

Project description

STS MFA CLI

CI Status Test coverage percentage

uv Ruff pre-commit

PyPI Version Supported Python versions License


Source Code: https://github.com/browniebroke/stsmfa-cli


Creating temporary profiles for multi-factor auth (MFA) protected accounts using AWS STS is too hard. This is a small CLI that helps with that.

Installation

Via Homebrew:

brew install browniebroke/tap/stsmfa-cli

Via uv, or your favourite Python package manager:

uv tool install stsmfa-cli

Usage

The CLI is a simple command stsmfa that creates a profile for a temporary session protected by MFA.

Assuming your ~/.aws/credentials file looks like this:

[my-profile-name]
aws_access_key_id = AKIAXXXXX
aws_secret_access_key = xxxx
mfa_serial = arn:aws:iam::123456789010:mfa/first.last

When running, for example:

awsmfa --profile my-profile-name 123456

This will create a session using the MFA serial defined under my-profile-name with the one-time password 123456, and save the required AWS key, secret and token under as a new profile my-profile-name-mfa in you ~/.aws/credentials file.

Now to use that session, you just need to set AWS_PROFILE=my-profile-name-mfa.

If your MFA serial is defined under the default profile, you don't need to specify the --profile option.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Bruno Alla
Bruno Alla

💻 🤔 📖

This project follows the all-contributors specification. Contributions of any kind welcome!

Credits

This package was created with Copier and the browniebroke/pypackage-template project template.

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

stsmfa_cli-1.7.1.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stsmfa_cli-1.7.1-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file stsmfa_cli-1.7.1.tar.gz.

File metadata

  • Download URL: stsmfa_cli-1.7.1.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for stsmfa_cli-1.7.1.tar.gz
Algorithm Hash digest
SHA256 9e2aaecdc4ad762e9cf667d0acf4e94042a7c0a09231e43130363ca6d6b7360e
MD5 f2747f8596c19b1277df1676dcf0cad8
BLAKE2b-256 1963e3afb25dbbef8402ffb42bf3e8218992347d48ddb61327470ad4d834749c

See more details on using hashes here.

Provenance

The following attestation bundles were made for stsmfa_cli-1.7.1.tar.gz:

Publisher: ci.yml on browniebroke/stsmfa-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file stsmfa_cli-1.7.1-py3-none-any.whl.

File metadata

  • Download URL: stsmfa_cli-1.7.1-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for stsmfa_cli-1.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9facd4ae3f1e6cf653db119b7c0845548e4fe1723b2883a0bd624fd4a2c54104
MD5 e53bd0c73e7b5da34179ba1b60a5c83e
BLAKE2b-256 58dd0f62eae7a873ffb7ecfda0daef398a4c043e09fbef14ba9c5044d7a60516

See more details on using hashes here.

Provenance

The following attestation bundles were made for stsmfa_cli-1.7.1-py3-none-any.whl:

Publisher: ci.yml on browniebroke/stsmfa-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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