

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

# 도메인 생성
<a name="domain-create"></a>

CodeArtifact 콘솔, AWS Command Line Interface (AWS CLI) 또는를 사용하여 도메인을 생성할 수 있습니다 CloudFormation. 생성되는 도메인에는 리포지토리가 포함되지 않습니다. 자세한 내용은 [리포지토리 생성](create-repo.md) 단원을 참조하십시오. CloudFormation으로 CodeArtifact 도메인을 관리하는 방법에 대한 자세한 내용은 [AWS CloudFormation을 사용하여 CodeArtifact 리소스 생성](cloudformation-codeartifact.md) 섹션을 참조하십시오.

**Topics**
+ [도메인 생성(콘솔)](#create-domain-console)
+ [도메인 생성(AWS CLI)](#create-domain-cli)
+ [AWS KMS 키 정책 예제](#create-domain-kms-key-policy-example)

## 도메인 생성(콘솔)
<a name="create-domain-console"></a>

1. [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home) AWS CodeArtifact 콘솔을 엽니다.

1.  탐색 창에서 **도메인**을 선택하고 **도메인 생성**을 선택합니다.

1.  **이름**에 도메인의 이름을 입력합니다.

1.  **추가 구성**을 확장합니다.

1.  AWS KMS key (KMS 키)를 사용하여 도메인의 모든 자산을 암호화합니다. AWS 관리형 KMS 키나 자신이 관리하는 KMS 키를 사용할 수 있습니다. CodeArtifact에서 지원되는 KMS 키 유형에 대한 자세한 내용은 [CodeArtifact에서 지원되는 AWS KMS 키 유형](domain-overview.md#domain-overview-supported-kms-keys) 섹션을 참조하세요.
   + 기본 AWS 관리형 키를 사용하려면 **AWS 관리형 키**를 선택합니다.
   +  관리하는 KMS 키를 사용하려면 **고객 관리형 키**를 선택합니다. 관리하는 KMS 키를 사용하려면 **고객 관리형 키 ARN**에서 KMS 키를 검색하여 선택합니다.

    자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [AWS 관리형 키](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) 및 [고객 관리형 키](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)를 참조하세요.

1.  **도메인 생성**을 선택합니다.

## 도메인 생성(AWS CLI)
<a name="create-domain-cli"></a>

를 사용하여 도메인을 생성하려면 `create-domain` 명령을 AWS CLI사용합니다. 도메인의 모든 자산을 암호화하려면 AWS KMS key (KMS 키)를 사용해야 합니다. AWS 관리형 KMS 키 또는 관리하는 KMS 키를 사용할 수 있습니다. AWS 관리형 KMS 키를 사용하는 경우 `--encryption-key` 파라미터를 사용하지 마십시오.

CodeArtifact에서 지원되는 KMS 키 유형에 대한 자세한 내용은 [CodeArtifact에서 지원되는 AWS KMS 키 유형](domain-overview.md#domain-overview-supported-kms-keys) 섹션을 참조하세요. KMS 키에 대한 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [AWS 관리형 키](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) 및 [고객 관리형 키](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)를 참조하세요.

```
aws codeartifact create-domain --domain my_domain
```

 JSON 형식의 데이터는 새 도메인에 관한 세부 정보와 함께 출력에 표시됩니다.

```
{
    "domain": {
        "name": "my_domain",
        "owner": "111122223333",
        "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/my_domain",
        "status": "Active",
        "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/your-kms-key",
        "repositoryCount": 0,
        "assetSizeBytes": 0,
        "createdTime": "2020-10-12T16:51:18.039000-04:00"
    }
}
```

 자신이 관리하는 KMS 키를 사용하는 경우 Amazon 리소스 이름(ARN)을 `--encryption-key` 파라미터와 함께 포함해야 합니다.

```
aws codeartifact create-domain --domain my_domain --encryption-key arn:aws:kms:us-west-2:111122223333:key/your-kms-key
```

 JSON 형식의 데이터는 새 도메인 관련 세부 정보와 함께 출력에 표시됩니다.

```
{
    "domain": {
        "name": "my_domain",
        "owner": "111122223333",
        "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/my_domain",
        "status": "Active",
        "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/your-kms-key",
        "repositoryCount": 0,
        "assetSizeBytes": 0,
        "createdTime": "2020-10-12T16:51:18.039000-04:00"
    }
}
```

### 태그가 있는 도메인 생성
<a name="create-domain-cli-tags"></a>

태그가 있는 도메인을 만들려면 `create-domain` 명령에 `--tags` 파라미터를 추가합니다.

```
aws codeartifact create-domain --domain my_domain --tags key=k1,value=v1 key=k2,value=v2
```

## AWS KMS 키 정책 예제
<a name="create-domain-kms-key-policy-example"></a>

CodeArtifact에서 도메인을 생성할 때 KMS 키를 사용하여 도메인의 모든 자산을 암호화할 수 있습니다. AWS 관리형 KMS 키 또는 사용자가 관리하는 고객 관리형 키를 선택할 수 있습니다. KMS 키에 대한 자세한 내용은 [AWS Key Management Service 개발자 가이드](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)를 참조하세요.

고객 관리형 키를 사용하려면 KMS 키에 CodeArtifact에 대한 액세스 권한을 부여하는 키 정책이 있어야 합니다. 키 정책은 AWS KMS 키에 대한 리소스 정책이며 KMS 키에 대한 액세스를 제어하는 기본 방법입니다. 모든 KMS 키에는 단일 키 정책이 요구되고, 키 정책에 따라 KMS 키의 사용 권한 보유자와 사용 방법이 결정됩니다.

다음 예제 키 정책 문은 AWS CodeArtifact가 권한 부여를 생성하고 권한 있는 사용자를 대신하여 키 세부 정보를 볼 수 있도록 허용합니다. 이 정책 문은 `kms:ViaService` 및 `kms:CallerAccount` 조건 키를 사용하여 지정된 계정 ID를 대신하여 작동하는 CodeArtifact에 대한 권한을 제한합니다. 또한 IAM 루트 사용자에게 모든 AWS KMS 권한을 부여하므로 키가 생성된 후 관리할 수 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "key-consolepolicy-3",
    "Statement": [
        {
            "Sid": "Allow access through AWS CodeArtifact for all principals in the account that are authorized to use CodeArtifact",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": [
                "kms:CreateGrant",
                "kms:DescribeKey"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "kms:CallerAccount": "111122223333",
                    "kms:ViaService": "codeartifact.us-west-2.amazonaws.com"
                }
            }
        },
        {
            "Sid": "Enable IAM User Permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        }
    ]
}
```

------