작업에 대한 프라이빗 레지스트리 인증 - AWS Batch

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

작업에 대한 프라이빗 레지스트리 인증

를 사용하는 작업에 대한 개인 레지스트리 인증을 AWS Secrets Manager 사용하면 자격 증명을 안전하게 저장한 다음 작업 정의에서 이를 참조할 수 있습니다. 이를 통해 작업 정의에서 인증이 필요한 외부 프라이빗 레지스트리에 AWS 있는 컨테이너 이미지를 참조할 수 있습니다. 이 기능은 Amazon EC2 인스턴스 및 Fargate에서 호스팅되는 작업에서 지원됩니다.

중요

작업 정의가 Amazon ECR에 저장된 이미지를 참조하는 경우 이 주제는 적용되지 않습니다. 자세한 정보는 Amazon Elastic Container Registry 사용 설명서Amazon ECS에서 Amazon ECR 이미지 사용을 참조하세요.

Amazon EC2 인스턴스에 호스팅된 작업의 경우 이 기능을 사용하려면 컨테이너 1.19.0 에이전트 버전 이상이 필요합니다. 그러나 최신 버전의 컨테이너 에이전트를 사용하는 것이 좋습니다. 에이전트 버전을 확인하고 최신 버전으로 업데이트하는 방법에 대한 자세한 내용은 Amazon Elastic Container Service 개발자 안내서의 Amazon ECS 컨테이너 에이전트 업데이트를 참조하십시오.

Fargate에서 호스팅되는 작업의 경우 이 기능을 사용하려면 플랫폼 버전 1.2.0 이상이 필요합니다. 자세한 내용은 Amazon Elastic 컨테이너 서비스 개발자 안내서의 AWS Fargate Linux 플랫폼 버전을 참조하십시오.

컨테이너 정의에서 자신이 생성한 암호의 세부 정보와 함께 repositoryCredentials 객체를 지정합니다. 참조하는 암호는 해당 암호를 사용하는 작업과 AWS 리전 다르거나 다른 계정에서 가져온 것일 수 있습니다.

참고

AWS Batch API 또는 AWS SDK를 사용할 때 시작하려는 AWS 리전 작업과 동일한 비밀이 있는 경우 전체 ARN 또는 시크릿 이름을 사용할 수 있습니다. AWS CLI 암호가 다른 계정에 있는 경우 암호의 전체 ARN을 지정해야 합니다. 를 사용할 때는 AWS Management Console 항상 암호의 전체 ARN을 지정해야 합니다.

다음은 필수 파라미터를 보여주는 작업 정의 스니펫입니다.

"containerProperties": [ { "image": "private-repo/private-image", "repositoryCredentials": { "credentialsParameter": "arn:aws:secretsmanager:region:123456789012:secret:secret_name" } } ]

프라이빗 레지스트리 인증에 대한 필수 IAM 권한

이 기능을 사용하려면 실행 역할이 필요합니다. 컨테이너 에이전트는 이 기능을 통해 컨테이너 이미지를 가져올 수 있습니다. 자세한 설명은 AWS Batch 실행: IAM 역할 섹션을 참조하세요.

생성한 비밀에 대한 액세스를 제공하려면 다음 권한을 실행 역할에 인라인 정책으로 추가하십시오. 자세한 정보는 IAM 정책 추가 및 제거 섹션을 참조하세요.

  • secretsmanager:GetSecretValue

  • kms:Decrypt―사용자 키가 기본 KMS 키가 아닌 사용자 지정 KMS 키를 사용하는 경우에만 필요합니다. 사용자 지정 키의 Amazon 리소스 이름(ARN)을 리소스로 추가해야 합니다.

다음 예제에서는 인라인 정책이 권한을 추가합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:region:123456789012:secret:secret_name", "arn:aws:kms:region:123456789012:key/key_id" ] } ] }

프라이빗 레지스트리 인증 사용

기본 암호를 생성하는 방법

프라이빗 레지스트리 자격 증명을 위한 시크릿을 생성하는 AWS Secrets Manager 데 사용합니다.

  1. https://console.aws.amazon.com/secretsmanager/ 에서 AWS Secrets Manager 콘솔을 엽니다.

  2. 새 비밀 저장을 선택합니다.

  3. 암호 유형 선택에서 다른 유형의 암호를 선택합니다.

  4. 일반 텍스트(Plaintext)를 선택하고 다음 형식과 같이 프라이빗 레지스트리 자격 증명을 입력합니다.

    { "username" : "privateRegistryUsername", "password" : "privateRegistryPassword" }
  5. 다음(Next)을 선택합니다.

  6. 암호 이름(Secret name)으로 production/MyAwesomeAppSecret 또는 development/TestSecret 같은 선택 경로와 이름을 입력하고, 다음(Next)을 선택합니다. 필요한 경우 설명을 추가하면 나중에 이 암호의 용도를 기억하는 데 도움이 됩니다.

    암호 이름은 ASCII 문자, 숫자 또는 다음 문자 중 하나가 되어야 합니다. /_+=.@-

  7. (선택 사항) 이때, 암호에 대한 교체를 구성할 수 있습니다. 이 절차에서는 자동 회전 비활성화 상태로 두고 다음을 선택합니다.

    신규 또는 기존 비밀번호에 대한 로테이션을 구성하는 방법에 대한 지침은 시크릿 로테이션을 AWS Secrets Manager 참조하십시오.

  8. 설정을 검토한 다음 암호 저장을 선택하여 Secrets Manager에 새 암호로 입력한 모든 항목을 저장합니다.

작업 정의를 등록하고 개인 레지스트리에서 개인 레지스트리 인증을 켜십시오. 그런 다음 Secrets Manager ARN 또는 이름에 보안 암호의 Amazon 리소스 이름(ARN)을 입력합니다. 자세한 내용은 프라이빗 레지스트리 인증에 대한 필수 IAM 권한을(를) 참조하세요.