説明
パスワード変更権限がないユーザーは、初期パスワードや漏えいしたパスワードの変更を管理者に依頼する必要があります。allow_users_to_change_password = false はアカウント全体への権限付与を行わない設定であり、別の IAM ポリシーで自分のパスワード変更を許可できます。
想定される影響
- 適切な変更経路がないと、漏えいしたパスワードが使われ続けるおそれがあります。
- 管理者の対応待ちによって、アカウント復旧や事故対応が遅れる可能性があります。
対処方法
全 IAM ユーザーに許可する場合は allow_users_to_change_password = true を設定してください。一部だけに許可する場合は、自分のパスワードに対する iam:ChangePassword と iam:GetAccountPasswordPolicy を適切に付与してください。MFA とパスワード強度の要件も維持してください。
例
アカウント全体への許可を比較する例です。別途設定した IAM ポリシーと適用される権限制限も確認してください。
変更前
hcl
resource "aws_iam_account_password_policy" "example" {
minimum_password_length = 8
require_lowercase_characters = true
require_numbers = true
require_uppercase_characters = true
require_symbols = true
allow_users_to_change_password = false
}
変更後
hcl
resource "aws_iam_account_password_policy" "example" {
minimum_password_length = 10
require_lowercase_characters = true
require_numbers = true
require_uppercase_characters = true
require_symbols = true
allow_users_to_change_password = true
}
変更後はアカウントポリシーを通じて自分のパスワード変更を許可します。文字数も 8 から 10 に変わりますが、実際の要件は組織基準に合わせて決めてください。