Issue
사용자에게 iam:ChangePassword를 수행할 수 있는 권한이 없거나 입력한 비밀번호가 관리자가 설정한 계정 암호 정책을 준수하지 않습니다.
IAM User의 Password를 90일마다 변경하게 설정한 후 Password를 변경할 때 나온 에러메시지다.
당연히 IAMUserChangePassword Policy를 IAM User에 적용했는데, 이상하게 Password를 변경할 수 없다고 나온다.
Trouble Shooting
사실 트러블 포인트를 찾기 어려웠다.
AdministratorAccess Policy를 넣어도 해결되지 않았고 이미 Password 복잡성을 만족시켰기 때문에, 설정된 정책을 만족하도록 Password를 입력했는데;;; 하고 보다가 발견한 정책!
Allow Users to change their own password가 체크되어야 Password를 변경할 수 있었다..
결론적으로 사용자 설정 Password Policy를 사용하는 경우에는 두 개의 조건을 모두 만족해야한다.
1.
IAM Policy IAMUserChangePassword
2.
Check Password Policy Allow users to change their own password
추가정보 (2차 트슛)
대부분 사용자는 위 두 개를 설정해주면 Password 변경이 가능할 것이다.
하지만 내 계정은 여전히 ‘어림도 없지’를 외치고있다.
오늘도 열심히 삽질을 한 결과 문제는 접속 IP를 제한하는 Policy 때문이였다.
재택근무중에 ‘Password 변경’이니까 그냥 접속해서 외않되!!!를 반복하고 있었는데, 집 IP를 넣으니 바로 Password 변경에 성공하고 접속까지 연결됐다.
결론
1. IAMUserChangePassword Policy 있는지 확인
2. Password Policy가 Allow users to change their own password를 허용하는지 확인
3. IP Access Control에 의해 접속할 수 없는지 확인
•
IAMUserChangePassword Policy를 가지고 있다고 무조건 password를 변경할 수 있는건 아니다...
•
AWS는 Password 변경 후 바로 접속되기 때문에 접속이 불가능한 상태에서는 Password 변경도 할 수 없다. (오류 메시지를 변경해주면 좋을것 같다.)