この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
コンニチハ、千葉です。
過去エントリーにも、MFA有効化手順がありますが、AWS画面が変わっていることやMFA有効化のためのIAMポリシーをアタッチしたもっとセキュアに利用するための手順としてまとめます。
用意するもの
- AWSアカウント
- MFAデバイス※後で説明
手順サマリ
- MFAデバイスの用意
- IAMポリシーのアタッチ(Administrator権限以外)
- IAMユーザのMFA有効化
MFAデバイスの用意
まずは、MFAデバイスを用意します。複数種類があるので、適切なデバイスを選択します。
https://aws.amazon.com/jp/iam/details/mfa/#Virtual_MFA_Applications
仮想デバイス
Android、iPhone、 Windows Phone、Blackberry上で動作するソフトウェアでの利用となります。 対応しているアプリケーション表があるので、アプリをダウンロードしインストールしておきます。
https://aws.amazon.com/jp/iam/details/mfa/?nc1=h_ls#仮想MFAアプリケーション
ハードウェアデバイスはキーホルダータイプ
Amazonで購入できます。
SMSテキストメッセージMFA
SMSテキストメッセージを利用した認証となります。 現在プレビュー中ですが、申請すれば使えます。
http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa_enable_sms.html
MFA有効化用のIAMポリシーのアタッチ
※この手順は、Administratorの権限がある場合はスキップでok
Administrator権限があるIAMユーザーであれば、自分や自分以外のIAMユーザのMFAを有効化できます。この手順は、IAMユーザーへの操作権限がないが、自分のアカウントのMFAを有効化し自信のMFAデバイスを有効化するための手順となります。
この場合は、ログインした自信のIAMユーザーのMFAのみ有効化することができるような権限を付与する必要があります。
インラインポリシーとして以下の定義をIAMグループに定義します。 https://console.aws.amazon.com/iam/home?region=ap-northeast-1#/groups
有効化したいIAMグループを選択します。すると以下の画面が表示されるので、インラインポリシーを追加します。
※「account-id-without-hyphens」は自信のアカウントIDにて置換します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowUsersToCreateEnableResyncDeleteTheirOwnVirtualMFADevice",
"Effect": "Allow",
"Action": [
"iam:CreateVirtualMFADevice",
"iam:EnableMFADevice",
"iam:ResyncMFADevice",
"iam:DeleteVirtualMFADevice"
],
"Resource": [
"arn:aws:iam::account-id-without-hyphens:mfa/${aws:username}",
"arn:aws:iam::account-id-without-hyphens:user/${aws:username}"
]
},
{
"Sid": "AllowUsersToDeactivateTheirOwnVirtualMFADevice",
"Effect": "Allow",
"Action": [
"iam:DeactivateMFADevice"
],
"Resource": [
"arn:aws:iam::account-id-without-hyphens:mfa/${aws:username}",
"arn:aws:iam::account-id-without-hyphens:user/${aws:username}"
],
"Condition": {
"Bool": {
"aws:MultiFactorAuthPresent": true
}
}
},
{
"Sid": "AllowUsersToListMFADevicesandUsersForConsole",
"Effect": "Allow",
"Action": [
"iam:ListMFADevices",
"iam:ListVirtualMFADevices",
"iam:ListUsers"
],
"Resource": "*"
}
]
}
MFAの有効化
これで下準備が完了したので、MFAを有効化します。仮想MFAデバイスを利用することが多いと思うので、仮想MFAデバイスの手順となります。
まずはAWSへログインし、IAMユーザーの画面へ移動します。 https://console.aws.amazon.com/iam/home?region=ap-northeast-1#/users
ユーザーを選択
認証情報 > MFAデバイスの割り当ての鉛筆マークをクリック
仮想MFAデバイスを選択
次へ
QRコードが出てくるのでMFA仮想デバイスアプリを起動し、読み込みます。 アプリに認証コードが出てくるので、2パターン入力し、MFAを有効化します。
まとめ
IAMユーザーを利用する場合は、かならずMFAを有効化しておきましょう!
参考
http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa_enable_virtual.html