본문 바로가기
개발/Cloud

[AWS, Github Action] Elastic Beanstalk에 SpringBoot 프로젝트 Docker로 배포하기 (2) - ECR 리포지토리 생성 및 권한 설정

by 똥먹는낙타 2023. 3. 16.
728x90
반응형

✅ AWS ECR(Elastic Container Registry) 에 프라이빗 리포지토리 생성 및 권한(Permissions) 설정

  • 권한 설정 : Permissons → 정책 JSON 편집
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "GetAuthorizationToken",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::{aws_account_id(12자리 숫자)}:user/{기존 EB용 IAM 사용자}"
      },
      "Action": "ecr:GetAuthorizationToken"
    },
    {
      "Sid": "AllowPushAndPull",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::{aws_account_id(12자리 숫자)}:user/{기존 EB용 IAM 사용자}"
      },
      "Action": [
        "ecr:BatchCheckLayerAvailability",
        "ecr:BatchGetImage",
        "ecr:CompleteLayerUpload",
        "ecr:GetDownloadUrlForLayer",
        "ecr:InitiateLayerUpload",
        "ecr:PutImage",
        "ecr:UploadLayerPart"
      ]
    }
  ]
}

 

  • GetAuthorizationToken
    • Github Actions를 통해 Docker 명령어를 사용하기 위한 권한
  • AllowPushAndPull
    • 이미지를 ECR 리포지토리에 Push/Pull 하기 위한 권한

 

✅ EB용 IAM 사용자에게 ECR 관련 권한 부여

1. ECR 접근 용 IAM 정책 생성 (ECR_FullAcess)

  • 서비스: Elastic Container Registry
  • 액션 : All Elastic Container Registry actions (ecr:\\*)
  • 리소스 : 특정 리소스
  • ARN 추가 ( * 는 모든 리포지토리 의미)

ARN 추가

2. EB용 IAM 계정에 ECR_FullAccess 정책 연결

  • 사용자 → 권한 추가 → 직접 정책 연결을 통해서 위에서 만든 ECR 정책 연결
  • 과정엔 없으나 EB용 IAM 계정이므로 AdministratorAccess-AWSElasticBeanstalk 정책도 연결

 

✏️ 참고

https://earth-95.tistory.com/122

728x90
반응형

댓글