[AWS] Policy에서 AWS IAM ARN이 고유 식별자(Unique Identifier)로 바뀌는 이유와 해결 방법


환경

  • AWS


배경

  • AWS KMS Key Policy에 AWS IAM Role ARN을 넣었는데 고유 식별자(Unique Identifier)로 바뀌는 현상이 발생
  • 처음에는 고유 식별자(Unique Identifier)인줄 모르고 이상한 해시 값 같은 문자열로 바뀌어 있어서 AWS에 문의함
"Principal": {
  "AWS": [
    "arn:aws:iam::111122223333:role/role-name",
    "AIDACKCEVSQ6C2EXAMPLE",
    "AROADBQP57FF2AEXAMPLE"
  }


AWS IAM ARN Unique Identifier

AWS 공식 문서에 따르면 아래와 같이 고유 식별자(Unique Identifier)가 생성된다고 한다.

“IAM에서 사용자, 사용자 그룹, 역할, 정책, 인스턴스 프로파일 또는 서버 인증서를 생성할 때, 각 리소스에 고유 ID를 할당합니다.”

그래서 위에 나오는 문자열들도 다 고유 식별자(Unique Identifier)로 볼 수 있다. 위에 있는 예시도 공식 문서에 있는 예시이다.


Policy에서 ARN이 고유 식별자(Unique Identifier)로 바뀌는 이유

AWS에 문의해보니 Policy에 IAM ARN을 넣었을 때 고유 식별자(Unique Identifier)로 바뀌는 이유는 해당 ARN이 삭제되었기 때문이라고 한다. 새로 ARN을 동일한 이름으로 만들더라도 고유 식별자(Unique Identifier)는 다르기 때문에 삭제하고 추가하는게 맞다고 전달 받았다. 결국 저렇게 Policy에 ARN이 고유 식별자(Unique Identifier)로 바뀌어버리면 어차피 삭제된 IAM ARN이기 때문에 보이면 삭제하는게 맞는거 같다.


참고자료