
문제상황
AWS ECR 레포지토리에 이미지를 푸쉬하려고 하는데 정책이 부족해서 이미지 푸쉬가 안되는 상태
https://docs.aws.amazon.com/ko_kr/AmazonECR/latest/userguide/repository-policies.html
보통은 위 링크 공식문서에 나와있는 json을 기반으로 정책을 만들것이라고 생각한다.
하지만 위에 나와있는 권한만으로 하려는 액션이 안되는 경우가 있다.
에러메세지

각각의 에러에서 because no identity-based policy allows 다음에 나오는 문구들이 중요하다
the ecr:GetRegistryPolicy action
the ecr:DescribePullThroughCacheRules action
the ecr:DescribeRegistry action
이 에러들이 친절하게 내가 어떤 내용을 정책에 넣어야하는지 알려주는것이라고 생각하면 된다.
해결방법
해결책 1
정책에 와일드카드를 넣어줌으로써 모든 권한을 부여해준다.

주석처리한 밑쪽에 "ecr:*" 이 양식으로 와일드카드를 넣어줘서 해결 할 수 있다.(적기 전 제일 마지막 정책에 반점을 찍는것을 잊지 말자...)
하지만 이건 너무 많은 권한을 주는거라서 정석적인방법도 아니고 권장하는 방법도 아니다.
해결책 2
에러 로그를 읽고 정책에 권한을 더 줌으로써 해결가능하다.

아까 본 오류메세지들을 정책에 나와있는 json 양식에 맞춰서 사용해줌으로써 해결하면 원래 AWS에서 지향하는 취지에 맞는 최소의 권한에 부합하게 된다.
댓글