AWS Multi-Factor Authenticationでvirtual MFA devicesとしてGoogle Authenticatorを利用

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWSで多要素認証を行う

AWSでは、パスワードによる認証の他に、多要素認証用デバイスを使った認証も提供しています。最近のエンタープライズシステムでは、多要素認証によるログインが求められていますので、エンタープライズ対応のAWSならではの機能です。しかし、この多要素認証はハードウェアによるトークンが必要で多少使いにくい点がありました。米国から調達する必要もあり日本では試しにくい点もありました。先日、AWSの発表により、ハードウェアによる多要素認証の他に、ソフトウェアによる多要素認証も追加されました。使いやすさの点から、今後導入が急激に進むのではと思っています。

ソフトウェアによる多要素認証

AWS Multi-Factor Authenticationのvirtual MFA devicesとして利用できるソフトウェア例は以下です。

  • AWS Virtual MFA
  • Google Authenticator
  • Authenticator

IAMでユーザを作成してパスワードと多要素認証の設定をする

実際にユーザのログイン時にパスワードとソフトウェアによる多要素認証を行います。今回は例として、あるグループを作成してuser1という名前のユーザを作成しました。AWS Management ConsoleのSecurity Credentialsタグを見てください。

ここで、まずパスワードを設定します。パスワードは分かりづらい文字列を頭の中に覚えておけばいいですが、人物情報からの予想や辞書攻撃で判明してしまうことがゼロでは無いので注意が必要です。

次に多要素認証を行うために、Manage MFA Deviceをクリックします。ハードウェアとソフトウェアの選択ができますので、今回はソフトウェアを選択します。

ソフトウェアを選択すると、以下のように2次元バーコードが表示されます。これをソフトウェア多要素認証であるGoogle Authenticatorから登録しましょう。

Google Authenticatorでトークンを登録する

Google Authenticatorを初めて起動すると以下のような説明書きが表示されます。汎用的なトークン生成ツールのようですね。

早速トークンを追加します。

追加する画面ではバーコードスキャンを起動することができますので、先ほどAWS Mamagement Concoleで表示された2次元バーコードをスキャンしましょう。

すると、6桁のIDが登録されます。また、一定時間で番号が更新されている事がわかります。これを最初に表示された数字と時間を待って表示される2回分、Authentication Code 1とAuthentication Code 2に記入すればOKです。

無事に登録ができましたら実際にログインしてみましょう。まずはIAM用のログインURLを設定します。

IAMのフォームからサインインする

IAM用のフォームからパスワードを入力します。

続いて多要素認証用のトークンを入力します。これは、Google Authenticatorで生成される6桁のコードを入力します。一定時間で更新されますので入力が遅いと書き変わってしまいますので気をつけてください。

ちゃんとログインできましたね!

まとめ

今回は、AWS Multi-Factor Authenticationを試しました。今までハードウェアによる認証のみ対応でしたが、今回のリリースによってソフトウェアによる多要素認証ができるようになりました。パスワードだけの認証に比べてよりセキュアになりますので、エンタープライズなシステムでは必須となりそうですね。ちなみに、IAMユーザ以外にも、AWSアカウントユーザにも適応できますの。今日から君もトークンを生成しよう!!