問題
新規IAMユーザ発行時に 次回のサインインで新しいパスワードを作成するようユーザに求める
にチェックを入れてユーザに連絡したが、AWSコンソール初回ログイン時に新しいパスワードを設定しようとすると、 iam:ChangePassword の実行権がありません。
というエラーが発生してパスワードが変更できない。
試しに AdministratorAccess
の管理ポリシーをアタッチしたり、
パスワード変更の権限を付与するカスタムポリシーを作成して明示的にアタッチしたりして、権限は持っているはずなのに同様のエラーでパスワードが変更できない。
という問題が発生した。
原因と解決索
本当の原因は変更しようとしていた新しいパスワードがIAMパスワードポリシーに違反していることだった。
IAMパスワードポリシーに則り、パスワードをより複雑なものに変更したところ問題は解決した。
そもそもエラーメッセージが間違っていて iam:ChangePassword の実行権は、ちゃんとIAMユーザに付与されており、結局エラーメッセージが間違っていることが問題だった。
AWS側ではっきり パスワードのポリシー違反です。
的なエラーメッセージが表示されるようになるまでは、同じような問題にハマるAWS管理者はゼロにならないと思われますが、
エラーメッセージが間違っている事が判明したので、仮パスワードを連絡する際にパスワードポリシーのルールも伝えるようにしようと思いました。。
2018/03/30 追記
ユーザーに iam:ChangePassword を実行する権限がないか、入力されたパスワードが管理者によって設定されたアカウントパスワードポリシーに準拠していません
というメッセージが表示されるようになり、アカウントパスワードポリシーに準拠していないことに気づけるようになっていました!