Techfirm Cloud Architect Blog

テックファーム株式会社クラウドインフラグループのブログ

AWSルートアカウントに複数の仮想MFAデバイスを割り当てる(WinAuth)

はじめに

AWSルートアカウントもIAMアカウントと同様に複数のMFAデバイスが割り当て可能であるため、1つのAWSルートアカウントを複数人で共同管理(もちろん原則、必要最小人数で)できます。
MFAデバイスの故障や、AWSルートアカウントの管理者が不在、連絡がつかない等により、AWSルートアカウントを必要な時に使えないシーンを軽減する設計が可能となりますね。
※まだMFAデバイスが1つしか割り当てができない頃は、どのデバイスに割り当て、どのように誰が管理するか頭を悩ませていました

今回の検証ではスマートフォンやハードウェアトークンを必要人数分用意できない場合や、セキュリティ要件等で特定の作業PCしかインストールできない制約がある場合などを想定し、Windows上で利用可能なデスクトップアプリケーションであるWinAuthを利用してみました。

手順

手順前提:WinAuthはインストール済みとして手順説明します

  1. すでに仮想MFAが1つ割り当てられている状態ですが、2つめの仮想MFAの割り当ても1つめと同手順のため、このまま進めていきます。
    rootアカウント初期状態

  2. デバイス名を入力(今回はWinAuth)して「Authenticator app」を選択、「次へ」を押下します。
    MFAデバイスの割り当て

  3. スマートフォンのアプリケーションを利用する場合は「QRコードを表示」からカメラで読み取って設定を進めますが、WinAuthの場合は「シークレットキーを表示」を押下して表示されるキーを利用します。
    シークレットキーを表示

  4. WinAuthを起動して、「Add」⇒「Authenticator」を押下します。
    WinAuth起動

  5. Nameを入力(今回はAWS)して「1. Enter the Secret Code for your authenticator...」の箇所に本手順3で表示したシークレットキーを入力します。
    認証追加

  6. AWS側の画面に戻って、WinAuthで表示されるMFAコードを2回入力して「MFAを追加」を押下します。
    MFAコード入力

  7. 正常に登録が完了し、下図の一番下に追加したWinAuthが表示されています。
    rootアカウント追加後

  8. 最後に追加した2つめの仮想MFAでログイン確認を行って終了です。参考までに下図はWinAuthのワンタイムパスワードの表示画面です。
    WinAuth画面

おわりに

今回は「個人AWSアカウントのMFAデバイスが故障したら面倒だな。」と思い「バックアップ的にもう1つ仮想MFAデバイス紐づけておくか。」という流れで、WinAuthの使用感を試してみたのですが、ビジネス面でもデスクトップアプリケーション型の仮想MFAデバイスの方が要件上適する場合はありそうだなと思いました。
小ネタでしたが、誰かのお役に立てばと思います。

参考

AWSで対応している多要素認証