デフォルトでは、メールアドレスとパスワードによる認証になっていますが、MFAというスマートフォンなどのデバイスとAWSを連動させて二段階の認証を行う方法に変更することで、セキュリティを高めることができます。
ただ、その連携させたデバイスが壊れてしまったり、紛失してしまったりすると、自身もログインができなくなってしまいます。いくら堅牢とはいえ、これは少し気がかりですので、本記事ではこの問題への対応策も合わせて記載しています。
※ご注意※
二段階認証の設定は、ミスをしてしまうとAWSにログインできなくなってしまう可能性があります。またこの方法が、他の環境でも同じようにうまくいくのかの確認はとっていません。設定はすべて自己責任でお願いします。
デバイスの準備
本記事は、iPhone あるいは iPod Touch を前提に記載しています。正確には、iPhoneアプリとして配布されている Google Authenticator を認証キー(6桁の数字)の表示に使います。Android版もあるようなので、本記事の方法で設定できる可能性はありますが、確認はとれていません。Apple Store から、Google Authenticator をダウンロードして、インストールしてください。(こちらから)
AWSマネジメントコンソールでMulti-Factor Authenticationを設定
2.二段階認証のためのデバイスを選択します。ここでは、専用のハードウェアではなく、スマートフォンを使いますので、A virtual MFA device を選択して、continue をクリックします。
3.次にスマートフォンへ認証キーを表示するためのアプリケーションをインストールするようにメッセージが表示されますが、先にインストールしていますので、continue をクリックします。
4.デバイスと連携させるためのシークレットキーがQRコードで表示されています。ここで、
Hide secret configuration key を押して、シークレットキーを表示させ、メモをとって大切に保管してください。
これがデバイスを失った時に必要な情報になります。
メモをとったら、Click here to enable your device をクリックします。
5.次に、iPhone にインストールした Google Authenticator を起動します。右下のプラスアイコンを押すと、トークンを追加する画面になります。アカウントとキーを入力する欄がありますが、QRコードから読み取るボタンを押せば入力は不要です。コードが読めないなど、手入力するときは、アカウントにAWSにログインする時に使っているメールアドレス、キーに先ほどメモをしたシークレットキーを入力してください。
6.登録を完了すると、画面に六桁の数字が表示されるようになります。この数字は、一定時間が経過する毎に変わっていくと思います。これが二段階認証で使う認証キーです。
7.これで準備は整いましたので、この認証キーを二つ使ってAWSとデバイスを連携させます。まず、いままさに表示されている認証6桁の数字を 認証コード#1 欄に入力します。その後、しばらく待って次の6桁の数字が表示されたら、その数字を 認証コード#2 欄に入力して、認証デバイスをアクティベートをクリックします。
8.入力値に問題がなければ、AWSとデバイスが連携されます。
デバイス喪失への備え
1.ここからは、いざというときの備えになります。冒頭で書きましたが、デバイスの喪失への対応として、ウェブ版の Google Authenticator を準備します。Git からファイルがダウンロードできますので、 こちらから Git にアクセスしてZIPをクリックしてください。2.ダウンロードしたアーカイブを解凍すると、展開されたフォルダに index.html があります。それをブラウザで表示してください。ウェブサーバーにあげる必要はありません。ローカルでそのまま実行できます。iPhone版のGoogle Authenticator と同じようにトークンが追加できます。左上のプラスボタンを押してください。
3.iPhone と同様にアカウントのメールアドレスとセキュリティキーを入力して、Add を押します。
デバイスとブラウザで同じ数字が表示されていれば、正常に登録できています。なお、このウェブ版 Google Authenticator は、デバイスに問題が出た場合への備えですので、普段はセキュリティキーと共に安全な場所に保管しておいてください。