LoginSignup
2
1

More than 3 years have passed since last update.

AWS CLIでMFAトークンを使用してAPI実行するメモ

Posted at

前提

  • IAMユーザーを作成済であること
    • プログラムからアクセス
    • 仮想MFAを設定済み(ARNを控えておく)
    • 以下のポリシーをインラインポリシーで設定済み
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllDenyWithoutMFA",
            "Effect": "Deny",
            "Action": [
                "*"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": false
                }
            }
        }
    ]
}

コマンド例

以下で一時クレデンシャルを取得可能

% aws sts get-session-token --serial-number [MFAのARN] --token-code [MFAトークン]

メモ

  • 上記「前提」記載の通り、 get-session-token の実行にはいかなるIAMポリシーも不要
    • ただし、 get-session-token で取得した一時クレデンシャルを用いた時に実行できるのは上記ポリシーで許可された操作だけなので、一時クレデンシャルを用いて実行したい操作はあらかじめポリシーで許可する必要がある

また、IAM ユーザーは、一時的セキュリティ認証情報を作成するために GetSessionToken を呼び出すこともできます。ユーザーが GetSessionToken を呼び出すためには、アクセス権限を必要としません。このオペレーションの目的は、MFA を使用してユーザーを認証することです。認証を制御するためにポリシーを使用することはできません。つまり、IAM ユーザーが GetSessionToken を呼び出して、一時的な認証情報を作成することを回避することはできません。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/authenticate-mfa-cli/

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1