설명
사용자에게 비밀번호 변경 권한이 없으면 초기 비밀번호나 노출된 비밀번호를 교체할 때 관리자에게 의존해야 합니다. 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자로 달라지지만, 실제 필요한 길이는 별도의 조직 기준에 맞게 정하세요.