はじめに
AWS CLIを使って、MFAの有効化やIAMロールを切り替える際に、AWS STSのGetSessionTokenで以下のようなエラーになる場合の対処方法を紹介する。AWS CLIによるMFAの有効化やIAMロールの切り替えの基本的な方法は、こちらの記事を参照。
エラー内容
An error occurred (ExpiredToken) when calling the GetSessionToken operation: The security token included in the request is expired
動作確認環境
- Ubuntu 22.04 x86_64
- AWS CLI 2.22.30
エラーの原因
AWS CLIでMFAの有効化やIAMロールを切り替える際に環境変数を使っていて、セッションが切れた後に以下の環境変数が設定されている場合に発生する。
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_SESSION_TOKEN
エラーの対処方法
セッションが切れて無効となった場合は、以下のコマンドで環境変数の値を削除する。
Ubuntu(Linux)
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
unset AWS_SESSION_TOKEN
Windows
set AWS_ACCESS_KEY_ID=
set AWS_SECRET_ACCESS_KEY=
set AWS_SESSION_TOKEN=
まとめ
AWS CLIを使って、MFAの有効化やIAMロールを切り替える際に、AWS STSのGetSessionTokenで以下のようなエラーになる場合の対処方法を紹介した。AWS CLIを使ってMFAの有効化やIAMロールの切り替えなどをする際に、アクセスキーやシークレットアクセスキーが間違えていない場合でも発生するので、参考にしてほしい。
参考