前提.session tokenに設定したいユーザーに多要素認証が設定されている事
「IAM」>「ユーザー」>「(ユーザー名選択)」>「セキュリティ認証情報」>「多要素認証(MFA)」欄
↑図のように、「識別子」欄に設定されていればOK。
手順1.~.aws\credentialsを編集する
手順2.MFAトークンを取得する
まず、コマンドプロンプトを開く。
次に、下記コマンドを打つ。
これに成功すると下記の結果が得られます。
{
"Credentials": {
"AccessKeyId": "XXXXXXXXXXXX",
"SecretAccessKey": "YYYYYYYYYYYYYY",
"SessionToken": "ZZZZZZZZZZZZZZZZZZZZZZZZ",
"Expiration": "yyyy-mm-dd"
}
}
補足.エラーが出た場合
手順3.MFAトークンをcredentialsファイル内に書き込む
これでMFA認証コードのSessionToken化は完了です。
具体的な活用例
上記で設定したSessionTokenは実際、どのように利用されるのか。一例を以下に示します。
★の部分をご覧ください。
手順3で指定したcredentialsの名称が引数に渡されています。
AWSマネジメントコンソール上で作業するなら今回の設定の効果はあまり感じられませんが、例えばこういった形でコマンドからEC2を起動させたりなどする場合や、credential helperが使えないなどの場合に、今回の手法であるSessionTokenが活用できます。
有効期限を延ばす方法
下記公式には「 --duration-seconds」を付与することで有効期限を伸ばすことができるとありました。
【MFA トークンを使用して、AWS CLI を通じて AWS リソースへのアクセスを認証するにはどうすればよいですか?】
もしかしたら企業のIT部門などで有効期限を予め固定されているかもしれないので、もしできない場合は所属組織のIT管理者に連絡してみるといいかもしれません。
目次へ戻る