処理の実行
AWS IDを取得します。
コマンド:
aws_id=$( \
aws sts get-caller-identity \
--query 'Account' \
--output text \
) \
&& echo ${aws_id}
結果(例):
仮想MFAデバイスのシリアル番号を取得します。
コマンド:
MFA_DEVICE_SERIAL=$( \
aws iam list-virtual-mfa-devices \
--query "VirtualMFADevices[?SerialNumber == \`arn:aws:iam::${aws_id}:mfa/${MFA_DEVICE_NAME}\`].SerialNumber" \
--output text \
) \
&& echo ${MFA_DEVICE_SERIAL}
結果(例)
arn:aws:iam::XXXXXXXXXXXX:mfa/handson-cloud9-user-mfa
QRコードをCloudShell環境からダウンロードします。
ダウンロードしたQRコードを画像ビューワーソフトなどで表示し、MFAソフトウェアに登録します。
注釈
QRコード登録方法については、MFAソフトウェアのマニュアルをご確認ください。
MFAソフトウェアから認証コードの取得
MFAソフトウェアに表示された6桁の数字2回分を変数に格納します。
注釈
1回目と2回目の数字は、必ずMFAソフトウェア上で連続して表示されたものである必要があります。
MFAソフトウェアに表示された認証コード(1回目)を変数に格納します。
変数の設定:
MFA_AUTH_CODE1='<連続した認証コードの1回目>'
MFAソフトウェアに表示された認証コード(2回目)を変数に格納します。(1回目の直後に表示された認証コードである必要があります。)
変数の設定:
MFA_AUTH_CODE2='<連続した認証コードの2回目>'
仮想MFAデバイスの有効化
仮想MFAデバイスの有効化します。
変数の確認:
cat << END
# IAM_USER_NAME:"handson-cloud9-user"
IAM_USER_NAME="${IAM_USER_NAME}"
# MFA_DEVICE_SERIAL:"arn:aws:iam::XXXXXXXXXXXX:mfa/handson-cloud9-user-mfa"
MFA_DEVICE_SERIAL="${MFA_DEVICE_SERIAL}"
# MFA_AUTH_CODE1:"<連続した認証コードの1回目>"
MFA_AUTH_CODE1="${MFA_AUTH_CODE1}"
# MFA_AUTH_CODE2:"<連続した認証コードの2回目>"
MFA_AUTH_CODE2="${MFA_AUTH_CODE2}"
END
コマンド:
aws iam enable-mfa-device \
--user-name ${IAM_USER_NAME} \
--serial-number ${MFA_DEVICE_SERIAL} \
--authentication-code1 ${MFA_AUTH_CODE1} \
--authentication-code2 ${MFA_AUTH_CODE2}
結果(例):
完了確認
「IAMユーザー"handson-cloud9-user"のMFAが有効になっている。」ことを確認します。
コマンド:
aws iam list-virtual-mfa-devices \
--query "VirtualMFADevices[?User.UserName == \`${IAM_USER_NAME}\`].User.UserName" \
--output text
結果(例):
QRコードのファイルを削除します。
コマンド:
rm ${HOME}/tmp-handson-cloud9/handson-cloud9-user-mfa.png
結果(例):