ルートユーザーでサインインをした時に「Your root user credentials are not valid or sign-in as root is currently disabled for this account」が発生した時の対処法
いわさです。
先日、AWS Organizations に新しいメンバーアカウントを追加し、ルートユーザーでサインインする機会があったのですが、サインイン時に次のようなエラー「Your root user credentials are not valid or sign-in as root is currently disabled for this account」が発生しました。
私は普段ルートユーザーでサインインする機会はそう多くないので、なぜ認証情報が無効なのか最初よくわかりませんでした。
アクセスできなかった理由
以前のアップデートで、AWS Organization 環境におけるルートアクセス管理機能を制御できるセキュリティ機能のアップデートがありました。
これによって、メンバーアカウントのルートユーザーを無効化出来るのですが、おそらくどこかのアップデート検証でルートアクセス一元管理を有効化したのかなと思います。有効化した記憶がないのだが。
公式ドキュメントによると、有効化後は新規メンバーアカウントにはデフォルトでルートユーザー認証情報が付与されなくなるようです。
After you centralize root access, you can choose to delete root user credentials from member accounts in your organization. You can remove the root user password, access keys, signing certificates, and deactivate multi-factor authentication (MFA). New accounts you create in AWS Organizations have no root user credentials by default. Member accounts can't sign in to their root user or perform password recovery for their root user.
確認してみると、既存のメンバーアカウントは認証情報が有効化されていたのですが新規で作成したメンバーアカウントだけ認証情報が「存在しない」になっていました。
ルートユーザー認証情報の有効化
このルートユーザー認証情報はアカウントごとに有効化/無効化を切り替えることが出来ます。
組織の管理アカウントの IAM 内にある「ルートアクセス管理」から対象アカウントを選択して「特権的なアクション」を実行します。
そうすると、いくつかの特権アクションを管理アカウントから実行が可能です。
メンバーアカウントで実行したい特権アクションが S3 バケットポリシー削除、SQS キューポリシーの削除であればルートユーザー認証情報の有効化は不要です。ここから操作で良いです。
今回はルートユーザーでのサインインが必要だったので「パスワード回復を許可」を選択します。これでルートユーザー認証情報が有効化されます。
有効化後、ルートユーザー認証情報が「存在する」になりました。
もう一度サインインを試してみると、先程と異なるメッセージ「For security concerns, you need to reset your password.」が表示されるようになりました。
あとは「Forgot password?」リンクからパスワードリセットすることでルートユーザーでサインインできるようになります。
さいごに
本日は、ルートユーザーでサインインをした時に「Your root user credentials are not valid or sign-in as root is currently disabled for this account」が発生したので、サインインできるようにルートユーザー認証情報を再有効化してみました。
ルートユーザーでサインインしたかったが同じメッセージでサインインできなかった方は、ルートユーザー認証情報が有効かどうかを確認してみてください。