ここ数週間のIT界隈は heartbleed が猛威をふるって荒れ模様だったわけですが、近年はとにかくいろんな経路からパスワードがもれますよね。もうパスワードは漏れる前提のほうがいいんじゃないかと思ったりします。ってことで個人の AWS アカウントも、いい加減に2段階認証の設定しようと思ってやってみました。
AWS の2段階認証
AWS では Multi-Factor Authentication (MFA) という仕組みで2段階認証を実現しています。
ドキュメント: http://aws.amazon.com/jp/iam/details/mfa/
必要なもの
いまのところ、スマホを持ってないとダメみたいです。
iPhone や Android の場合は、Google Authenticator を入れるのが良さそうです。
- iPhone: https://itunes.apple.com/jp/app/google-authenticator/id388497605?mt=8
- Android: https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=ja
設定手順
ルートアカウントでログインした状態でマネージメントコンソールを開き、Security Credentials をクリックすると行けます。
2014/04/30 時点では、ルートアカウントでログインした後に https://console.aws.amazon.com/iam/home?#security_credential へアクセスすれば OK です。
あとは MFA の部分を展開してデバイスを追加すれば ok です。iPhone などを MFA デバイスとして設定する Virtual MFA device を選択します。すると、下記のように QR コードが出てくるので、Google Authenticator を起動してバーコードで読み取ってやります。
ちなみに、2014/05/01 時点の iPhone では、別の QR コードアプリから読み取り→Google Authenticator を起動というフローだとアプリが落ちます。Authenticator 内臓のバーコードリーダーで追加してやれば OK です。
わかりにくいのは2つのコードを入れるところで、ここは Google Authenticator に表示された 6 桁のコードを 2 つ入れる必要があります。ひとつ入れて、別のコードに切り替わるのをしばらくまって、ふたつめを入れる。という感じです。
2つのコードを入れたら、MFA の設定は完了です。AWS へのログイン時に、メアドとパスワードを入れてログインした後、こんな風に認証コードが聞かれるようになるはずです。
これで安全な AWS ライフを送れると思います。