はじめに
IAMユーザーのMFAデバイスを再同期する方法はドキュメントに載っている。
http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa_sync.html
rootアカウントのMFAデバイスが故障した時の対応も載っている。
http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa_lost-or-broken.html
でもrootアカウントのMFAデバイスの再同期の方法が載っていない。(はず)
rootアカウントのMFAデバイス設定はrootアカウントでしかできない。
もちろんコンソール上でrootがroot自身のMFAデバイスを再同期することは可能。
問題はコンソールにサインインする時点で時刻ずれが起こっていた時。
IMAユーザーのMFAデバイスなら、時刻ずれしても、違うユーザーで再同期できるので問題ない。
rootアカウントだと困る。
なので調べました。
1.rootアカウントでサインインを試みる
- MFAデバイスが設定済みの前提です。
- https://console.aws.amazon.com/console/
- メールアドレスとパスワードを入力し、「Sign in using our secure server」で画面遷移。
2.認証コードを入力しないで画面下部のリンクへ飛ぶ
- 赤枠で囲っている箇所からリンクで飛びます。
- ちなみに画面上部のエラーは同期がずれてるデバイスで認証コードを生成してサインインしようとした時に(も)出ます。
- 「There was a pronlem」
- 「The authentication code you entered is invailid. Please make sure that you have correctly entered your authentication code.」
- 私の環境だと8ヶ月くらいぶりにデバイスを使おうとしたらずれていました。
3.もう一回アドレスとパスワードを入力する
- 1.と同じ画面に飛びます。
- 「あれ?」と思いますが、再度メールアドレスとパスワードを入力し、「Sign in using our secure server」で画面遷移。
4.認証コードを2回入力して再同期
- MFAデバイスで2回コードを生成し、「Re-sync…」をクリックすれば完了。
- ちなみに右側の「Contact Us」をクリックすれば、故障時等のサポートページに飛ぶ。
- https://aws-portal.amazon.com/gp/aws/html-forms-controller/contactus/aws-token-support-v2
- 電話番号を入力して、コールしてもらって口頭対応のようです。
- 英語でかかってくるので、「日本語でお願い」と英語で頼む必要があるそうです。
おわりに
物理MFAデバイスは時刻ずれが怖いですね。
仮想MFAデバイスなら大丈夫なものなのかは知りません。
以前行ったOpsJAWSで聞いた話。
ソフトウェアMFAには3種類ある。
- Saasタイプ
- モバイルタイプ
- ローカルアプリタイプ(New!)
某社ではローカルアプリタイプであるWinAuthをEC2上で動かして、
必要時にだけEC2を立ち上げて認証して…という仕組みにしているらしい。
うろ覚えです。
以上です。