IAM ユーザーのパスワード変更権限の確認

IAM ユーザーが必要なときに自分のパスワードを変更できる経路を用意してください。

説明

パスワード変更権限がないユーザーは、初期パスワードや漏えいしたパスワードの変更を管理者に依頼する必要があります。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 に変わりますが、実際の要件は組織基準に合わせて決めてください。

参考資料