JAWS-UG CLI #3 (IAM)で話題になったMFAに関する追加ハンズオンです。
AWS CLIを使ってMFAを再設定する。 http://dev.classmethod.jp/cloud/aws/aws-cli-mfa-deactivate/ を参考にしました。
前提条件
- IAMへのフルアクセス権限
- 利用している仮想MFAソフトウェア(Google Authenticatorなど)の用意 (必須ではないですが、事後処理としてエントリの削除をしておきましょう)
- 仮想MFAデバイスの一覧
=====================
最初に、現在IAMに登録されている仮想MFAデバイスの一覧を確認します。
コマンド
$ aws iam list-virtual-mfa-devices
結果
{
"VirtualMFADevices": [
{
"SerialNumber": "arn:aws:iam::XXXXXXXXXXXX:mfa/testmfa",
"EnableDate": "2014-09-09T23:55:25Z",
"User": {
"UserName": "taro",
"Path": "/",
"CreateDate": "2014-07-14T01:44:28Z",
"UserId": "AIDAI4FHXXXXXXXXXXXXX",
"Arn": "arn:aws:iam::XXXXXXXXXXXX:user/taro"
}
}
]
}
taroユーザの仮想MFAデバイスが登録されていることがわかりました。
- 仮想MFAデバイスとIAMユーザの関連付け削除
========================================
仮想MFAデバイスとIAMユーザの関連付けを削除します。
これにより、taroユーザがAWSマネジメントコンソールにログインするときにMFA認証を求められなくなります。
2.1. 対象ユーザの決定
削除する仮想MFAデバイスを利用しているユーザを指定します。
コマンド
$ IAM_USER_NAME='taro'
2.2. シリアル番号の取得
そのユーザが利用している仮想MFAデバイスのシリアル番号を取得します。
コマンド
$ MFA_SERIAL=`aws iam list-virtual-mfa-devices | jq -r --arg user_name ${IAM_USER_NAME} '.VirtualMFADevices[] | select(.User.UserName == $user_name) | .SerialNumber'` && echo ${MFA_SERIAL}
結果
arn:aws:iam::XXXXXXXXXXXX:mfa/testmfa
2.3. 関連付けの削除
taroユーザと仮想MFAデバイスの関連付けを削除します。
コマンド
$ aws iam deactivate-mfa-device --user-name ${IAM_USER_NAME} --serial-number ${MFA_SERIAL}
結果
(戻り値なし)
- 仮想MFAデバイスの一覧
=====================
taroユーザが利用していた仮想MFAデバイスが、未アサイン状態になっていることを確認します。
コマンド
$ aws iam list-virtual-mfa-devices
結果
{
"VirtualMFADevices": [
{
"SerialNumber": "arn:aws:iam::XXXXXXXXXXXX:mfa/testmfa"
}
]
}
- 仮想MFAデバイスの削除
=====================
仮想MFAデバイスを削除します。
コマンド
$ aws iam delete-virtual-mfa-device --serial-number ${MFA_SERIAL}
結果
(戻り値なし)
- AWSマネジメントコンソールへのログイン確認
=========================================
AWSマネジメントコンソールへログインするときに、パスワードだけでログインできることを確認しましょう。
- 仮想MFAソフトウェアからの削除
=========================================
仮想MFAソフトウェア上から該当するエントリを削除しておきましょう。