IAM パスワード有効期限ポリシーの確認

パスワードの有効期限は、組織の認証と復旧の方針に合わせて決めてください。

説明

IAM の max_password_age はコンソールパスワードの有効期間を定めます。無期限も有効な設定であり、期限がないだけでアカウントが脆弱になるわけではありません。組織が有効期限を要求する場合、実際の設定とユーザーの変更手順がその要件を満たす必要があります。

想定される影響

  • 適切な変更手順がなければ、漏えいしたパスワードが使われ続ける可能性があります。
  • 短すぎる期限や急なポリシー変更は、正常なログインを妨げる場合があります。

対処方法

期限が必要な場合は max_password_age を方針に合った 1~1095 日に設定し、変更と復旧の手順を用意してください。MFA を維持し、漏えいしたパスワードは期限を待たず速やかに変更してください。このポリシーでアクセスキーが失効するわけではありません。

例

パスワードの有効期限を比較します。期限を設定すると、すでにその日数を超えたパスワードにも直ちに影響します。

変更前

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 = true
}

変更後

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 = true
  max_password_age               = 10
}

最初の例には期限がなく、変更後は 10 日です。10 日は設定の例であり、すべての組織に推奨される期間ではありません。

参考資料