説明
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 日は設定の例であり、すべての組織に推奨される期間ではありません。