IAM 사용자 비밀번호 변경 권한 점검

IAM 사용자가 필요할 때 자신의 비밀번호를 변경할 수 있는 경로를 마련하세요.

설명

사용자에게 비밀번호 변경 권한이 없으면 초기 비밀번호나 노출된 비밀번호를 교체할 때 관리자에게 의존해야 합니다. allow_pw_change: false는 계정 정책으로 변경 권한을 부여하지 않는 설정이며, 별도 IAM 정책으로 자신의 비밀번호 변경을 허용할 수 있습니다.

잠재적 영향

  • 적절한 변경 경로가 없으면 노출된 비밀번호가 오래 유지될 수 있습니다.
  • 관리자 개입을 기다리느라 계정 복구와 사고 대응이 늦어질 수 있습니다.

해결 방법

  • 모든 IAM 사용자에게 허용하려면 allow_pw_change: true 또는 별칭 allow_password_change: true를 사용하세요. 한 작업에는 같은 옵션의 이름 하나를 일관되게 사용하세요.
  • 일부 사용자만 허용할 때는 자신의 비밀번호에 대한 iam:ChangePassword와 iam:GetAccountPasswordPolicy 권한을 적절히 부여하세요. 적용되는 거부 정책, MFA와 비밀번호 강도 기준도 확인하세요.

예시

예시는 계정 수준의 변경 허용만 비교합니다. 현재 amazon.aws.iam_password_policy와 이를 가리키는 community.aws 이름을 지원하는 컬렉션에서 사용할 수 있습니다. 다른 정책 값은 조직 기준에 맞게 검토하세요.

변경 전

yaml
- name: 비밀번호 정책 설정
  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: false
    pw_max_age: 60
    pw_reuse_prevent: 5
    pw_expire: false

- name: 비밀번호 정책 설정 별칭 사용
  community.aws.iam_password_policy:
    state: present
    min_pw_length: 8
    require_symbols: false
    require_numbers: true
    require_uppercase: true
    require_lowercase: true
    allow_password_change: false
    pw_max_age: 60
    pw_reuse_prevent: 5
    pw_expire: false

변경 후

yaml
- name: 비밀번호 정책 설정
  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

설명:

  • 변경 전: 계정 정책으로 자기 비밀번호 변경 권한을 부여하지 않습니다. 별도 IAM 정책의 허용 여부도 확인해야 합니다.
  • 변경 후: 계정 정책을 통해 사용자가 자신의 비밀번호를 변경하도록 허용합니다.

참조