読者です 読者をやめる 読者になる 読者になる

戦場のプログラマー

名前は誰も知らない。

AWSで2段階認証(MFA)を構成する(Android版: Google Authenticator使用)

AWSアカウントはGoogleアカウント、Amazonアカウントに次いで大事なアカウントです。
2段階認証、多要素認証、MFA(Multi-Factor Authentication)等々呼ばれ方は様々ですが、 AWSアカウントにも2段階認証を設定することができます。
AWSではMFA(Multi-Factor Authentication, 多要素認証)と呼ばれています。
今回はこれを設定します。

2段階認証を実行するプロセスにはSMSによるメッセージングもできるのですが、 ドコモとかだと海外からのSMSの受信制限とかがかかっていたりして、これを解除しないとうまく受け取れないことがあります。
最初GitHubから2段階認証のワンタイムパスワードを何度やってもSMSで受け取れなくて国コードが間違ってるんじゃないかとか、 先頭の0を取らないといけないじゃないかとか、GitHubのバグなんじゃないかと思いました。

ここではAndroidアプリのGoogle Authenticator(Google認証システム)を使用します。
Google AuthenticatorはGoogleの二段階認証にしか使えないのかと思っていたのですが、 他の2段階認証を採用しているシステムでも使えるようです。
便利ですねー。

MFAの設定を有効にする

  • Management Consoleにログイン後、右上のメニューから[Security Credentials]を選択します。

f:id:wnoguchi0727:20140812213056p:plain

  • あなたがアクセスしようとしているページはAWSアカウントのセキュリティクレデンシャルのページで、 AWSアカウントのセキュリティクレデンシャルはAWSリソースへの無制限アクセスを提供するものだから AWSのベストプラクティスにならってIAMで制限されたユーザを作成してやったほうがいいよーと 警告が表示されるので[Continue to Security Credentials]をクリックして先に進みます。

f:id:wnoguchi0727:20140812213051p:plain

  • 次に[Your Security Credentials]セクション内の[Multi-Factor Authentication(MFA)]を開いて [Activate MFA]ボタンをクリックします。

f:id:wnoguchi0727:20140812213054p:plain

  • [A virtual MFA device]を選択します。

f:id:wnoguchi0727:20140812213044p:plain

  • 要するに、Google Authenticatorを入れてねと書いてあります。

f:id:wnoguchi0727:20140812213045p:plain

  • QRコードが表示されました。
    この段階ではGoogle Authenticatorがインストール済みの前提で話を進めます。
    さらに厳重に認証コードを2連続で入力を促されます。
    そんなことできたんだ・・・。

f:id:wnoguchi0727:20140812213046p:plain

Google Authenticatorを起動する

さて、このQRコードを読み取るためにGoogle Authenticatorを起動します。
こんなアイコンのやつですね。

f:id:wnoguchi0727:20140812213053p:plain

  • [アカウントを設定]をタップします。

f:id:wnoguchi0727:20140812213052p:plain

f:id:wnoguchi0727:20140812213055p:plain

  • AWSアカウントのワンタイムパスワードを生成するところが現れたのがわかると思います。
    右側の円グラフのゲージがこの認証コードの有効な期間なので2回、この認証コードををさっきの認証コード入力欄に入力して[Next Step]をクリックします。

f:id:wnoguchi0727:20140812213050p:plain

  • これで2段階認証を行うためのGoogle AuthenticatorとAWSアカウントが紐付けられました。

f:id:wnoguchi0727:20140812213047p:plain

f:id:wnoguchi0727:20140812213048p:plain

実際にログインしてみる

実際に2段階認証が有効になったかサインアウトしてもう一度ログインしてみます。

  • ログインID、パスワードを入力します。

f:id:wnoguchi0727:20140812213057p:plain

  • 認証コードを求められるようになりました。
    ここでGoogle Authenticatorで生成される認証コードを期限内に入力してログインします。

f:id:wnoguchi0727:20140812213049p:plain

これでAWSアカウントに2段階認証を設定することができました。

デバイスが壊れた、紛失してログインできなくなってしまったら

GitHubやQiita等はリカバリコードが用意されていますが、AWSの場合は直接問合せする必要があるようです。
要注意。