Skip to main content

概要

AWS CLIをMFAの認証付きで利用する場合、少々手間がかかるので、 MFA認証済みのクレデンシャルを発行する手順を自動化するツールを作成。

MFA用プロファイルの新規作成とクレデンシャル情報の更新を行うことが可能です。 MFA用プロファイルの認証情報は有効期限12時間で設定しています。

依存するライブラリ一覧

  • boto3
  • PyInquirer

インストール方法

$ pip install aws-mfa-util

使い方

まず、動作の前提条件は下記です。

  • ~/.aws/credentialファイルが存在する
  • ~/.aws/credentialファイル内に適切なプロファイルが設定されている
  • ~/.aws/credentialファイル内に、適切なmfa_serialが設定されている

具体的には、下記のような設定が最低限必要です。 以降の説明は、testAというプロファイルが設定されている想定で記載します。

[testA]
aws_access_key_id=abcde1234
aws_secret_access_key=abcde1234
mfa_serial=arn:aws:iam::12345678:mfa/test1

MFA用プロファルを新規作成する

コマンドを実行します。

$ aws-mfa-util

すると、下記のような選択肢が表示されます。

$ aws-mfa-util
? 希望する処理を選択してください (Use arrow keys)
> MFA用プロファイルを新規作成
  MFA用プロファイルの認証情報を更新

新規作成する場合は、「MFA用プロファイルを新規作成」を選択し、Enterを押してください。 すると、下記の様に表示されます。

$ aws-mfa-util
? 希望する処理を選択してください MFA用プロファイルを新規作成
? MFA用に新規作成するプロファイルを選択してください (Use arrow keys)
> testA

今回はtestAというプロファイル1つしか設定していませんが、複数設定している場合は、複数のプロファイルが表示されます。 MFA用に新規作成したいプロファイルを選択して、Enterを押します。 すると、下記のように表示されます。

$ aws-mfa-util
? 希望する処理を選択してください MFA用プロファイルを新規作成
? MFA用に新規作成するプロファイルを選択してください testA
? ワンタイムパスワードを入力してください

マネジメントコンソールに入力しているワンタイムパスワードを入力します。 (Authyなどで表示するコードです) 入力後、Enterを押します。

$ aws-mfa-util
? 希望する処理を選択してください MFA用プロファイルを新規作成
? MFA用に新規作成するプロファイルを選択してください testA
? ワンタイムパスワードを入力してください 123456
MFA用プロファイルの新規作成が完了しました。

「MFA用プロファイルの新規作成が完了しました。」という表示が出ていれば、設定完了です。 testA-mfaという形で、既存のプロファイル名の末尾に、「-mfa」がついたプロファイルが新規作成されます。

既存のMFA用プロファイルの認証情報を更新する

コマンドを実行します。

$ aws-mfa-util

すると、下記のような選択肢が表示されます。

$ aws-mfa-util
? 希望する処理を選択してください (Use arrow keys)
  MFA用プロファイルを新規作成
> MFA用プロファイルの認証情報を更新

「MFA用プロファイルの認証情報を更新」を選択し、Enterを押します。 すると、下記のように表示されます。

$ aws-mfa-util
? 希望する処理を選択してください MFA用プロファイルの認証情報を更新
? 更新するMFAプロファイルを選択してください (Use arrow keys)
> testA-mfa

新規作成したMFA用プロファイルを選択し、Enterを押します。 すると、下記のように表示されますので、ワンタイムパスワードを入力し、Enterを押します。

$ aws-mfa-util
? 希望する処理を選択してください MFA用プロファイルの認証情報を更新
? 更新するMFAプロファイルを選択してください testA-mfa
? ワンタイムパスワードを入力ください 123456

最終的に、下記のように表示されていれば、更新は完了です。

$ aws-mfa-util
? 希望する処理を選択してください MFA用プロファイルの認証情報を更新
? 更新するMFAプロファイルを選択してください testA-mfa
? ワンタイムパスワードを入力ください 123456
MFA用プロファイルの認証情報更新が完了しました。

Release files for aws-mfa-util 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aws-mfa-util 0.1.0
File Size Uploaded
aws-mfa-util-0.1.0.tar.gz 6.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aws-mfa-util 0.1.0
File Interpreter ABI Platform
aws_mfa_util-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.9 kB

Release files / aws-mfa-util-0.1.0.tar.gz

Download URL aws-mfa-util-0.1.0.tar.gz
Size 6.6 kB
Tags Source
SHA-256 checksum
How to use checksums
04566d2e0fc3de9f6af5997ba45a67a9a0b86b1db72d753f14eaa3890d16a624
BLAKE2b-256 checksum
How to use checksums
4374ed714cb3fb713f2b4976f8f629c6b8a5b39fba2ae63556ed8f8cfd7b9917
Upload date
Uploaded using Trusted Publishing?
What is 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.9.1 tqdm/4.41.1 CPython/3.8.0

Release files / aws_mfa_util-0.1.0-py3-none-any.whl

Download URL aws_mfa_util-0.1.0-py3-none-any.whl
Size 8.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
580832b1256694980930ad92ec4ffead8a81e327ef5a4ce19ad93a75087a16ab
BLAKE2b-256 checksum
How to use checksums
a0668ed2065bdf8aeae6e36c7a43c20fef368401dcf192975c431d18d98f3e06
Upload date
Uploaded using Trusted Publishing?
What is 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.9.1 tqdm/4.41.1 CPython/3.8.0

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page