

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

# 작업에 대한 프라이빗 레지스트리 인증
<a name="private-registry"></a>

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

**중요**  
작업 정의가 Amazon ECR에 저장된 이미지를 참조하는 경우 이 주제가 적용되지 않습니다. 자세한 정보는 *Amazon Elastic Container Registry 사용 설명서*의 [Amazon ECS에서 Amazon ECR 이미지 사용](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_on_ECS.html)을 참조하세요.

Amazon EC2 인스턴스에서 호스팅되는 작업의 경우 이 기능을 사용하려면 버전 `1.19.0` 이상의 컨테이너 에이전트가 있어야 합니다. 그러나 최신 컨테이너 에이전트 버전을 사용하는 것이 좋습니다. 에이전트 버전을 확인하고 최신 버전으로 업데이트하는 방법에 대한 자세한 내용은 Amazon Elastic Container Service 개발자 안내서의 [Amazon ECS 컨테이너 에이전트 업데이트](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html)를 참조하세요.**

Fargate에서 호스팅되는 작업의 경우 이 기능을 사용하려면 플랫폼 버전 `1.2.0` 이상이 필요합니다. 자세한 정보는 Amazon Elastic Container Service 개발자 안내서의 [AWS Fargate Linux 플랫폼 버전](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform-linux-fargate.html)을 참조하세요.**

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

**참고**  
 AWS Batch API AWS CLI또는 AWS SDK를 사용할 때 시작 중인 작업 AWS 리전 과 동일한에 보안 암호가 있는 경우 보안 암호의 전체 ARN 또는 이름을 사용할 수 있습니다. 암호가 다른 계정에 있는 경우 암호의 전체 ARN을 지정해야 합니다. 를 사용할 때는 보안 암호 AWS Management Console의 전체 ARN을 항상 지정해야 합니다.

다음은 필요한 파라미터를 나타낸 작업 정의의 조각입니다.

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

# 프라이빗 레지스트리 인증에 대한 필수 IAM 권한
<a name="private-auth-iam"></a>

실행 역할은 이 기능을 사용해야 합니다. 컨테이너 에이전트는 이 기능을 통해 컨테이너 이미지를 가져올 수 있습니다. 자세한 내용은 [AWS Batch IAM 실행 역할](execution-IAM-role.md) 단원을 참조하십시오.

생성하는 암호에 액세스 권한을 부여하려면 다음 권한을 인라인 정책으로 실행 역할에 추가하세요. 자세한 정보는 [IAM 정책 추가 및 제거](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) 섹션을 참조하세요.
+ `secretsmanager:GetSecretValue`
+ `kms:Decrypt`―사용자 키가 기본 KMS 키가 아닌 사용자 지정 KMS 키를 사용하는 경우에만 필요합니다. 사용자 지정 키의 Amazon 리소스 이름(ARN)을 리소스로 추가해야 합니다.

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

------
#### [ JSON ]

****  

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

------

# 자습서: 프라이빗 레지스트리 인증을 위한 보안 암호 생성
<a name="private-auth-enable"></a>

다음 단계를 완료하여를 사용하여 프라이빗 레지스트리 자격 증명에 대한 보안 암호를 생성합니다 AWS Secrets Manager.

**기본 보안 암호 생성**

1. [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/) AWS Secrets Manager 콘솔을 엽니다.

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

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

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

   ```
   {
     "username" : "privateRegistryUsername",
     "password" : "privateRegistryPassword"
   }
   ```

1. **다음(Next)**을 선택합니다.

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

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

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

   새 보안 암호 또는 기존 보안 암호에 대한 교체를 구성하는 방법에 대한 지침은 [AWS Secrets Manager 보안 암호 교체를 참조하세요](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html).

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

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