AWSでMFA認証の設定をしたので、内容を記録しておきます。
目次
MFA(Multi-FactorAuthentication)とは
こちらのページをご覧の方は、MFAについてはご存知かと思いますが、一応簡単に説明しておきます。
MFAとは、Multi-FactorAuthenticationの略でログイン時に、「ユーザー名」+「パスワード」に加えてもう一つ認証の要素を付け加えた2要素認証の事です。
昨今はユーザー名・パスワードの認証だけでは、セキュリティが十分とは言えません。ユーザー名・パスワードは漏洩したり推測・総当たりで検出されてしまうリスクが付きまといます。
もし万が一AWSのアカウントが乗っ取られてしまうと、悪用者によってサービス利用され多額の請求を受けることになったり、犯罪に使われてしまう可能性もありますので、ルートアカウントはMFA認証とすることが推奨されています。
ちなみにですが、AWSでのMFA認証は特に料金などは発生しません。(無料)
AWSでMFA登録する手順
MFAデバイスには、以下の2種類がありますが、今回は仮想MFAデバイス(スマートフォンのアプリを使う形式)について紹介します。
- 仮想MFAデバイス
- ハードウェアMFAデバイス
ルートアカウントのMFAを有効化
AWSマネジメントコンソール画面からIdentity and Access Management (IAM)の画面を表示します。上図の「ルートアカウントのMFAを有効化」→「MFAの管理」ボタンを押下します。
MFAデバイスタイプの選択ポップアップが出ますので、今回は仮想MFAデバイスを選択します。
その後画面に、仮想MFAアプリケーションから読み取り用のQRコードが画面上に表示されますので、画面をそのまま閉じずに、次の作業に進みます。
スマートフォンにGoogle Authenticatorをインストール
MFA認証用のアプリをインストールします。「Google Authenticator」というアプリをインストールしましょう。
以下はiPhoneでの流れです。AppStoreで「Google Authenticator」を検索し、インストールするだけです。
アプリを起動すると画面下部に「バーコードをスキャン」の項目がありますので、こちらよりQRコードスキャンが出来ます。
先ほど、AWS管理画面で表示したQRコードを読み取ると、スマホアプリ側に6桁の認証コードが2つ表示されます。
AWS管理画面にスマホアプリの認証コードを転記
スマホアプリで表示された認証コード(6桁×2)をAWSの管理画面に記載し、「仮想MFAの有効化」ボタンを押下します。
これでMFA認証の設定は完了ですので、正しく設定できれば上図のように「仮想MFAが正常に割り当てられました」と表示されるはずです。
AWSマネジメントコンソール画面(Identity and Access Management (IAM))をリロードしてみると、「ルートアカウントのMFAを有効化」が緑のチェックに変わります。
ちなみに、一度設定したMFA認証の変更や解除する場合も、こちらの画面より変更や解除が出来ます。
MFAを利用したログイン(Webブラウザ)
AWSのログイン画面にて、「ルートアカウント認証情報を使用してサインイン」からMFA認証ログインをしてみます。(ルートアカウント以外のIAMの個別アカウントでもMFA認証に変更する事は可能です)
MFAコードの入力項目が出てきますので、スマホのアプリ「Google Authenticator」を起動し、表示される認証コード6桁を転記します。
認証コードを転記して送信ボタンを押せば正常にログインできるはずです。認証コードの有効期限はワンタイム方式で30秒と短く、画面右側のタイマーで有効期限が表示されています。
認証コードの期限が切れると同時に新たな認証コードが表示されます。
MFAデバイス(スマホなど)を紛失および故障時の対応
仮想MFAデバイスの認証で「Google Authenticator」を設定したデバイス(スマホなど)を無くしてしまった場合、サインイン出来なくなってしまいます。
その際の対処法は以下に記載がありますので、ご確認ください。
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa_lost-or-broken.html