AWSでMFA認証の設定方法【仮想MFA スマホ版】

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