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.0.tar.gz (6.7 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.0-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: stsmfa_cli-1.7.0.tar.gz
  • Upload date:
  • Size: 6.7 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.0.tar.gz
Algorithm Hash digest
SHA256 9e4dc02cfec9972e957b4c8d0e3b91b2401475a6791ba56fe4e40e5bc7045ddc
MD5 26670eae42f22620e56fcee082af11ad
BLAKE2b-256 1e78aa53c2c7c354c51b421e493908a23485c7b01df645121cc06a98981afcba

See more details on using hashes here.

Provenance

The following attestation bundles were made for stsmfa_cli-1.7.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: stsmfa_cli-1.7.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dde2caafac263c79fab07f5aee7b7db9e59fd1798c551c1bfec0094cb2b58e7b
MD5 21f32dc308bb3404d91d1d48d96a6d50
BLAKE2b-256 910f59b085ffc350a153417ac21cd842aa92b13e4fed9605f625ba7b7c97e85e

See more details on using hashes here.

Provenance

The following attestation bundles were made for stsmfa_cli-1.7.0-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