AWS Vault を使用した際に、IAM ユーザーの MFA が使用できない

2022.05.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

IAM ユーザー に MFA 強制ポリシーを設定しているが、AWS Vault から認証情報を取得し、以下のコマンドで MFA 認証をするとエラーが出てしまう。

aws vault exec ユーザー名 -- aws sts get-session-token --serial-number arn-of-the-mfa-device --token-code code-from-token

どう対応すればいいの?

aws vault 利用時は一時的認証を使用するため、sts コマンドに制限がかけられます。

Assume role は実行できるため、別途 IAM ロールを作成し、そちらに MFA を使用したスイッチロールを行うようにすることで MFA 認証が使用できます。

参考資料

GetSessionToken のアクセス権限

You cannot use the credentials to call IAM or AWS STS API operations. You can use them to call API operations for other AWS services.

AWS Vaultで端末内のAWSアクセスキー平文保存をやめてみた