概要
IAMユーザー ログイン(サインイン)時にエラーが発生したので、詳細と解決策について記述します。
エラー発生の流れ
クライアントにIAMユーザーを作成していただき、
「別紙に各ユーザーのパスワードと各種キーなどが記載されているので、
ログイン確認、パスワード変更、MFA有効化をしてください。」と依頼されました。
ログインURLは https: //hoge-test-dev.signin.aws.amazon.com/console のようなものでした。
↓↓
ログインURLにアクセスしました。
以下の情報を入力しました。
アカウントIDまたはエイリアス
hoge-test-dev(すでに入っていた)
IAMユーザー名
hoge-test@dev.com(自分のメールアドレス)
パスワード
Test00hoge
↓↓
「サインイン」を押下
↓↓
パスワードのリセットで
「アカウント (0123456789) のパスワードの有効期限が切れているか、リセットが必要です。
続行するには、古いパスワードを確認し、hoge-test@dev.com の新しいパスワードを設定してください。」
と表示されました。
一応「古いパスワード」「新しいパスワード」を入力し、「パスワード変更の確認」を押下しました。
↓↓
ここで、
「この操作を実行する権限がないか、新しいパスワードが管理者の設定したアカウントパスワードポリシーに準拠していない可能性があります。」
というメッセージが表示されました。
↓↓
先方にパスワードをリセットしてもらったものの、同じエラーが出てログインできませんでした。
IAMユーザを見る限り、IAMUserChangePassword | AWSドキュメント は付与されているようでした。
原因と解決策
「この操作を実行する権限がないか、新しいパスワードが管理者の設定したアカウントパスワードポリシーに準拠していない可能性があります。」
→ この「パスワードポリシーに準拠していない」という点が気になります。
ただ、パスワードを「Test00hoge」(10文字)や「Test00hoge!」(11文字)で試しており、英数字&大文字小文字、記号の条件は満たしています。
試しに「Test00hogefuga」と14文字に増やしたらログインできるようになりました。
ただ、「パスワードは8文字以上あるのになぜログインできなかったのか?」と思いました。
ログイン後にIAMのアクセス管理 > アカウント設定を見ると、
パスワードの最小文字数 14 文字
というカスタムパスワードポリシーが記載されていました。
このポリシーを知らなかったのが原因になります。