Skip to main content

MFA for AWS CLI using SafeNet Trusted Access (STA)

Project description

sta-awscli

MFA for AWS CLI using SafeNet Trusted Access (STA)

This script allows using SafeNet Trusted Access (STA) IDP based authentication when working with AWSCLI. At the moment, the supported configuration is using Keycloak (https://www.keycloak.org) as an "agent" between STA and AWS, allowing us to support AWS with multiple accounts and roles. The script assumes STA and Keycloak are configured and working for SAML based access to AWS.

The script supports all STA authentication methods, including manual OTP, Push based OTP and GriDsure. GriDsure support is experimental and requires "tesseract" v4.0 and above to be installed on the host (https://tesseract-ocr.github.io/tessdoc/Installation.html).

Configuration

On first execution, the script will collect the required information to create a configuration file that is stored in the same path as the script itself. The configuration file includes:

  • AWS Region
  • Keycloak URL
  • Keycloak version
  • Keycloak Realm Name
  • AWS application name in Keycloak

For example:

[config]
aws_region =  
cloud_idp =  
is_new_kc =  
tenant_reference_id =  
aws_app_name =  

Usage

Once the configuration is created, a connection is established to STA through Keycloak and the user will be asked to provide a username, based on STA authentication policy, AD Password and OTP. If the user only has single token (MobilePASS+ or GriDsure) assigned, the authentication will be triggered automatically (Push for MobilePASS+ or the pattern grid presented for GriDsure). For auto triggered Push - the user can cancel the Push using CTRL+C to manually enter OTP. If the user has multiple tokens assigned, the user is aksed to provide an OTP, but still has the abbility to trigger Push ("p" or blank OTP) and GriDsure ("g").

After successful authentication, if a user has a single role assigned, an Access Token is generated and stored in .aws\credentials file. If the user has multiple roles assigned, the user is presented with the list of available roles to select the desired role and an Access Token is generated and stored.

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

sta-awscli-2.0.0.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

sta_awscli-2.0.0-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file sta-awscli-2.0.0.tar.gz.

File metadata

  • Download URL: sta-awscli-2.0.0.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.15 CPython/3.10.6 Linux/5.15.0-1017-azure

File hashes

Hashes for sta-awscli-2.0.0.tar.gz
Algorithm Hash digest
SHA256 606f18fcb0e41d9f9cb26b7dc9def0a1e7cac039ca430721b1e5f015d886411b
MD5 6953f8c8bf53f4cf756662adde4e41d2
BLAKE2b-256 c6261113637a2783683dcee6b8f1ec6ecf96f59e85ba5ecf2532325ec4d3b5cc

See more details on using hashes here.

File details

Details for the file sta_awscli-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: sta_awscli-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.15 CPython/3.10.6 Linux/5.15.0-1017-azure

File hashes

Hashes for sta_awscli-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aff2319d67b17e024b216899c1d31b8b11a5242f4e2be89b1750ff35c8de0c4a
MD5 1db9050315ae009ac88d386303e553fe
BLAKE2b-256 6eec07870491445e3b1aa3403d3a0dbe7df2a88771331b624c3d72b235ca8fbe

See more details on using hashes here.

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