波田野 裕一
2024-04-30
CloudFormationリソースIAM::VirtualMFADeviceを利用して仮想MFAデバイスを作成します。
本作業は、以下の権限を有する「IAMユーザー」もしくは「IAMロール/インスタンスプロファイルが付与された環境(Cloud9などを含むEC2環境)で行います。
作業権限条件: 必要なIAMポリシー
AWSCloudFormationFullAccess
IAMFullAccess
必要なIAMポリシーを利用する環境(「IAMユーザー」「IAMグループ」もしくは「IAMロール/インスタンスプロファイル」)にアタッチした後に、手順を実施します。
注釈
本手順は、Cloud9環境での実施を推奨します。
AWS CLIハンズオンの環境構築手順: http://prototype-handson-cli.s3-website-ap-northeast-1.amazonaws.com/handson_light_web-aws_prepare/handson_light_web-aws_prepare-cloud9/index.html
本作業は、以下の環境で行います。
環境条件1: OSとバージョン
本作業は、Amazon Linux 2"Karoo"以降のOS環境での実施を前提としています。
コマンド: cat /etc/system-release 結果(例): Amazon Linux release 2 (Karoo)
コマンド:
cat /etc/system-release
結果(例):
Amazon Linux release 2 (Karoo)
環境条件2: シェルとバージョン
本作業は、bash "4.2.46(2)-release"以降のシェル環境での実施を前提としています。
コマンド: bash --version \ | head -1 結果(例): GNU bash, バージョン 4.2.46(2)-release (x86_64-redhat-linux-gnu)
bash --version \ | head -1
GNU bash, バージョン 4.2.46(2)-release (x86_64-redhat-linux-gnu)
環境条件3: AWS CLIのバージョン
本作業は、AWS CLIのバージョン"1.25.94"以降での実施を前提としています。
コマンド: aws --version 結果(例): aws-cli/1.25.94 Python/3.7.10 Linux/4.14.291-218.527.amzn2.x86_64 botocore/1.27.93
aws --version
aws-cli/1.25.94 Python/3.7.10 Linux/4.14.291-218.527.amzn2.x86_64 botocore/1.27.93
本手順書で構築するAWSリソースの構成は以下の図のようになります。
Cloud9環境への権限追加
CLIハンズオンの実施方法や効果的に行うためのポイントについては、CLIハンズオンガイドをご参照ください。
ユーザーの作成
仮想MFAデバイス
タグの追加
変数の設定:
IAM_USER_NAME="handson-cli-cfn-iam-VirtualMFADevice-user"
mfa_device_serial=$( \ aws iam list-virtual-mfa-devices \ --query "VirtualMFADevices[?User.UserName == \`${IAM_USER_NAME}\`].SerialNumber" \ --output text \ ) \ && echo ${mfa_device_serial}
arn:aws:iam::XXXXXXXXXXXX:mfa/handson-cli/handson-cli-cfn-iam-VirtualMFADevice-user-virtual-mfa
aws iam list-mfa-device-tags \ --serial-number ${mfa_device_serial}
{ "Tags": [ { "Key": "handson-cli:department-name", "Value": "Account Management" }, { "Key": "handson-cli:post-name", "Value": "Assistant Manager" } ] }
警告
CFnで作成した仮想MFAデバイスは、TOTP秘密鍵を取得できないため、そのままでは使用できません。
作成された仮想MFAデバイスを無効化(ユーザーとの紐付けを削除)して、改めて有効化(IAMユーザーと紐付け)する必要があります。
今後の参考にするため、本手順についてご意見・コメントをお願いします。
必須項目はありません。お気軽にご回答ください。
内容が違えばお一人何回回答していただいても問題ありません。
はまりどころや誤字・脱字などの修正のご指摘もお待ちしています。
このアンケートシステムはS3 + Cognitoで構築しています。
Cloud9環境の停止
Cloud9環境からの権限剥奪