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.6.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.6.0-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: stsmfa_cli-1.6.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.6.0.tar.gz
Algorithm Hash digest
SHA256 e791c9c4e90deb56806b980c603f6a305ef3bdfcd83134823c3f3c28e1421883
MD5 2ef4b861948b1f64bb9bcae8e78cb170
BLAKE2b-256 b30d39ad0372e98a379fdff8218f016cce3acb463ebba9d423771c59f9732b00

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: stsmfa_cli-1.6.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.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f9fd7c7312b25ace2b2eae54e7fe4e179c536ac7e329b6ac90b92c991c48799f
MD5 2122ca0861f58eb740de850f3cdc43be
BLAKE2b-256 39f5d19d905246007d4eb1cd7c88cd4260d447fed6d4d6af8db4321aa5bad906

See more details on using hashes here.

Provenance

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