IAM パスワードの最小文字数の確認

IAM コンソールパスワードの長さが組織のアカウント保護基準を満たすか確認してください。

説明

IAM パスワードの最小文字数が不足すると、短く推測しやすいパスワードが許可される場合があります。設定の省略が文字数制限の不在を意味するわけではないため、実際のアカウントポリシーを確認してください。このポリシーは IAM 利用者のコンソールパスワードに適用され、ルートのパスワードやアクセスキーには適用されません。

想定される影響

  • 短く弱いパスワードが推測攻撃で悪用されるおそれがあります。
  • 文字数のポリシーを変えても既存のパスワードは直ちに変更されません。

対処方法

  • min_pw_length または別名の minimum_password_length に、組織の十分な最小文字数を明示してください。同じオプションの名前は一貫して使用してください。
  • 必要な文字種の条件も確認し、コンソール利用者に MFA を適用してください。新しい文字数の要件は、利用者が次にパスワードを変更するときに適用されます。

例

AWS のカスタム最小文字数の許容範囲は 6~128 です。モジュールの既定値は 6 で、例の 8 文字がすべての組織に十分という意味ではありません。

変更前

yaml
- name: IAM パスワードポリシーを設定する
  community.aws.iam_password_policy:
    state: present
    require_symbols: false
    require_numbers: true
    require_uppercase: true
    require_lowercase: true
    allow_pw_change: true
    pw_max_age: 60
    pw_reuse_prevent: 5
    pw_expire: false

- name: IAM パスワードポリシーの別の設定例
  community.aws.iam_password_policy:
    state: present
    min_pw_length: 6
    require_symbols: false
    require_numbers: true
    require_uppercase: true
    require_lowercase: true
    allow_pw_change: true
    pw_max_age: 60
    pw_reuse_prevent: 5
    pw_expire: false

変更後

yaml
- name: IAM パスワードポリシーを設定する
  community.aws.iam_password_policy:
    state: present
    min_pw_length: 8
    require_symbols: false
    require_numbers: true
    require_uppercase: true
    require_lowercase: true
    allow_pw_change: true
    pw_max_age: 60
    pw_reuse_prevent: 5
    pw_expire: false

補足:

  • 変更前: 最小文字数を省略したタスクと、6 を明示したタスクです。実際に適用されるポリシーを確認してください。
  • 変更後: 最小文字数を 8 に明示しています。必要な文字数は組織の基準に合わせて決める必要があります。

参考資料