

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

# 선택적으로 구성 AWS KMS keys
<a name="configure-kms-keys"></a>

 AWS KMS 암호화 키로 리소스를 암호화하고 해독하려면 확인란을 선택합니다. 기존 키가 있는 경우 드롭다운 메뉴에 표시된 식별자에서 키를 선택할 수 있습니다. **키 생성**을 선택하여 새 키를 생성할 수 있습니다. 랜딩 존을 업데이트할 때마다 KMS 키를 추가하거나 변경할 수 있습니다.

**랜딩 존 설정**을 선택하면 AWS Control Tower가 사전 확인을 수행하여 KMS 키를 검증합니다. 키는 다음 요구 사항도 충족해야 합니다.
+ 활성화됨
+ 대칭
+ 다중 리전 키가 아님
+ 정책에 추가된 올바른 권한이 있음
+ 키가 관리 계정에 있음

키가 이러한 요구 사항을 충족하지 않으면 오류 배너가 표시될 수 있습니다. 이 경우 다른 키를 선택하거나 키를 생성합니다. 다음 섹션에 설명된 대로 키의 권한 정책을 편집해야 합니다.

## KMS 키 정책 업데이트
<a name="kms-key-policy-update"></a>

 KMS 키 정책을 업데이트하려면 먼저 KMS 키를 생성해야 합니다. 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [키 정책 생성](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html)을 참조하세요.

 AWS Control Tower에서 KMS 키를 사용하려면 AWS Config 및에 필요한 최소 권한을 추가하여 기본 KMS 키 정책을 업데이트해야 합니다 AWS CloudTrail. 모범 사례로 모든 정책에 최소 필수 권한을 포함하는 것이 좋습니다. KMS 키 정책을 업데이트할 때 단일 JSON 문 또는 줄별로 그룹으로 권한을 추가할 수 있습니다.

 이 절차에서는 AWS Config 및 CloudTrail이 AWS KMS 암호화에 사용할 수 있도록 허용하는 정책 설명을 추가하여 AWS KMS 콘솔에서 기본 KMS 키 정책을 업데이트하는 방법을 설명합니다. 정책 설명에 다음 정보를 포함해야 합니다.
+  **`YOUR-MANAGEMENT-ACCOUNT-ID`** - AWS Control Tower를 설정할 관리 계정의 ID입니다.
+  **`YOUR-HOME-REGION`** - AWS Control Tower를 설정할 때 선택할 홈 리전입니다.
+  **`YOUR-KMS-KEY-ID`** - 정책에 사용할 KMS 키 ID입니다.

**KMS 키 정책 업데이트**

1.  에서 AWS KMS 콘솔을 엽니다. [https://console.aws.amazon.com//kms](https://console.aws.amazon.com//kms) 

1.  탐색 창에서 **고객 관리형 키**를 선택합니다.

1.  테이블에서 편집할 키를 선택합니다.

1.  **키 정책** 탭에서 키 정책을 볼 수 있는지 확인합니다. 키 정책을 볼 수 없는 경우 **정책 보기로 전환**을 선택합니다.

1.  **편집**을 선택하고 AWS Config 및 CloudTrail에 대한 다음 정책 설명을 추가하여 기본 KMS 키 정책을 업데이트합니다.

    **AWS Config 정책 설명** 

   ```
   {
       "Sid": "Allow Config to use KMS for encryption",
       "Effect": "Allow",
       "Principal": {
           "Service": "config.amazonaws.com"
       },
       "Action": [
           "kms:Decrypt",
           "kms:GenerateDataKey"
       ],
       "Resource": "arn:aws:kms:YOUR-HOME-REGION:YOUR-MANAGEMENT-ACCOUNT-ID:key/YOUR-KMS-KEY-ID"
   }
   ```

    **CloudTrail 정책 설명** 

   ```
   {
       "Sid": "Allow CloudTrail to use KMS for encryption",
       "Effect": "Allow",
       "Principal": {
           "Service": "cloudtrail.amazonaws.com"
       },
       "Action": [
           "kms:GenerateDataKey*",
           "kms:Decrypt"
       ],
       "Resource": "arn:aws:kms:YOUR-HOME-REGION:YOUR-MANAGEMENT-ACCOUNT-ID:key/YOUR-KMS-KEY-ID",
       "Condition": {
           "StringEquals": {
               "aws:SourceArn": "arn:aws:cloudtrail:YOUR-HOME-REGION:YOUR-MANAGEMENT-ACCOUNT-ID:trail/aws-controltower-BaselineCloudTrail"
           },
           "StringLike": {
               "kms:EncryptionContext:aws:cloudtrail:arn": "arn:aws:cloudtrail:*:YOUR-MANAGEMENT-ACCOUNT-ID:trail/*"
           }
       }
   }
   ```

1.  **변경 사항 저장**을 선택합니다.

 **KMS 키 정책 예제 ** 

 다음 예제 정책은 AWS Config 및 CloudTrail에 최소 필수 권한을 부여하는 정책 설명을 추가한 후 KMS 키 정책이 어떻게 보일 수 있는지 보여줍니다. 예제 정책에는 기본 KMS 키 정책이 포함되지 않습니다.

```
{
    "Version": "2012-10-17",		 	 	 
    "Id": "CustomKMSPolicy",
    "Statement": [
        {
        ... YOUR-EXISTING-POLICIES ...
        },
        {
            "Sid": "Allow Config to use KMS for encryption",
            "Effect": "Allow",
            "Principal": {
                "Service": "config.amazonaws.com"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:PARTITION:kms:YOUR-HOME-REGION:YOUR-MANAGEMENT-ACCOUNT-ID:key/YOUR-KMS-KEY-ID"
        },
        {
            "Sid": "Allow CloudTrail to use KMS for encryption",
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudtrail.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey*",
                "kms:Decrypt"
              ],
            "Resource": "arn:PARTITION:kms:YOUR-HOME-REGION:YOUR-MANAGEMENT-ACCOUNT-ID:key/YOUR-KMS-KEY-ID",
            "Condition": {
                "StringEquals": {
                    "aws:SourceArn": "arn:PARTITION:cloudtrail:YOUR-HOME-REGION:YOUR-MANAGEMENT-ACCOUNT-ID:trail/aws-controltower-BaselineCloudTrail"
                },
                "StringLike": {
                    "kms:EncryptionContext:aws:cloudtrail:arn": "arn:PARTITION:cloudtrail:*:YOUR-MANAGEMENT-ACCOUNT-ID:trail/*"
                }
            }
        }
    ]
}
```

 다른 예제 정책을 보려면 다음 페이지를 참조하세요.
+  *AWS CloudTrail 사용 설명서* 에서 [암호화 권한 부여](https://docs.aws.amazon.com//awscloudtrail/latest/userguide/create-kms-key-policy-for-cloudtrail.html#create-kms-key-policy-for-cloudtrail-encrypt).
+  *AWS Config 개발자 가이드*의 [서비스 연결 RolesS3 버킷을 제공할 때 KMS 키에 필요한 권한](https://docs.aws.amazon.com//config/latest/developerguide/s3-kms-key-policy.html#required-permissions-s3-kms-key-using-servicelinkedrole).

**공격자로부터 보호**  
 정책에 특정 조건을 추가하면 *혼동된 대리자* 공격이라고 하는 특정 유형의 공격을 방지하는 데 도움이 됩니다. 이 공격은 한 엔터티가 더 많은 권한을 가진 엔터티에게 교차 서비스 가장과 같은 작업을 수행하도록 강요할 때 발생합니다. 정책 조건에 대한 일반적인 내용은 [정책에서 조건 지정](access-control-overview.md#specifying-conditions) 섹션을 참조하세요.

 AWS Key Management Service (AWS KMS)를 사용하면 다중 리전 KMS 키와 비대칭 키를 생성할 수 있지만 AWS Control Tower는 다중 리전 키 또는 비대칭 키를 지원하지 않습니다. AWS Control Tower는 기존 키에 대한 사전 확인을 수행합니다. 다중 리전 키 또는 비대칭 키를 선택하면 오류 메시지가 표시될 수 있습니다. 이 경우 AWS Control Tower 리소스와 함께 사용할 다른 키를 생성합니다.

에 대한 자세한 내용은 개발자 안내서를 AWS KMS참조하세요. [AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/overview.html) 

AWS Control Tower의 고객 데이터는 기본적으로 SSE-S3를 사용하여 저장 시 암호화됩니다.