

 **이 페이지 개선에 도움 주기** 

이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 **GitHub에서 이 페이지 편집** 링크를 선택합니다.

# EKS Auto Mode용 고객 관리형 KMS 키를 사용하여 EBS 볼륨 암호화 활성화
<a name="auto-kms"></a>

고객 관리형 KMS 키를 사용하여 EKS Auto Mode 인스턴스의 임시 루트 볼륨을 암호화할 수 있습니다.

Amazon EKS Auto Mode는 Kubernetes 클러스터의 암호화된 EBS 볼륨을 관리할 때 서비스 연결 역할을 사용하여 다른 AWS 서비스에 권한을 위임합니다. 이 주제에서는 EKS Auto Mode에서 Amazon EBS 암호화용 고객 관리형 키를 지정할 때 필요한 키 정책을 설정하는 방법에 대해 설명합니다.

고려 사항:
+ EKS Auto Mode는 기본 AWS 관리형 키를 사용하여 계정의 암호화된 볼륨을 보호하는 데 추가 승인이 필요하지 않습니다.
+ 이 주제에서는 EC2 인스턴스의 루트 볼륨인 임시 볼륨의 암호화를 다룹니다. 워크로드에 사용되는 데이터 볼륨 암호화에 대한 자세한 내용은 [스토리지 클래스 생성](create-storage-class.md) 섹션을 참조하세요.

## 개요
<a name="_overview"></a>

다음 AWS KMS 키는 EKS Auto Mode에서 인스턴스를 시작할 때 Amazon EBS 루트 볼륨 암호화에 사용할 수 있습니다.
+  **AWS 관리형 키** - Amazon EBS에서 생성, 소유 및 관리하는 계정의 암호화 키입니다. 이 키는 새 계정을 위한 기본 암호화 키입니다.
+  **고객 관리형 키** - 사용자가 생성, 소유 및 관리하는 사용자 지정 암호화 키입니다.

**참고**  
키는 대칭이어야 합니다. Amazon EBS에서는 비대칭 고객 관리형 키를 지원하지 않습니다.

## 1단계: 키 정책 구성
<a name="_step_1_configure_the_key_policy"></a>

KMS 키에는 EKS Auto Mode가 고객 관리형 키로 암호화된 Amazon EBS 볼륨으로 인스턴스를 시작할 수 있도록 허용하는 키 정책이 있어야 합니다.

다음 구조로 키 정책을 구성합니다.

**참고**  
이 정책에는 EKS Auto Mode에 대한 권한만 포함되어 있습니다. 다른 자격 증명이 키를 사용하거나 권한 부여를 관리해야 하는 경우 키 정책에 추가 권한이 필요할 수 있습니다.

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "MyKeyPolicy",
    "Statement": [
        {
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::123456789012:role/ClusterServiceRole"
                ]
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Allow attachment of persistent resources",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::123456789012:role/ClusterServiceRole"
                ]
            },
            "Action": [
                "kms:CreateGrant",
                "kms:ListGrants",
                "kms:RevokeGrant"
            ],
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": "true"
                }
            }
        }
    ]
}
```

`<account-id>`를 실제 AWS 계정 ID로 바꿔야 합니다.

키 정책을 구성할 때:
+ `ClusterServiceRole`에는 암호화 작업에 KMS 키를 사용하는 데 필요한 IAM 권한이 있어야 합니다.
+ `kms:GrantIsForAWSResource` 조건은 AWS 서비스에 대해서만 권한 부여를 생성할 수 있도록 합니다.

## 2단계: 고객 관리형 키를 사용하여 NodeClass 구성
<a name="_step_2_configure_nodeclass_with_your_customer_managed_key"></a>

키 정책을 구성한 후 EKS Auto Mode NodeClass 구성에서 KMS 키를 참조합니다.

```
apiVersion: eks.amazonaws.com/v1
kind: NodeClass
metadata:
  name: my-node-class
spec:
  # Insert existing configuration

  ephemeralStorage:
    size: "80Gi"  # Range: 1-59000Gi or 1-64000G or 1-58Ti or 1-64T
    iops: 3000    # Range: 3000-16000
    throughput: 125  # Range: 125-1000

    # KMS key for encryption
    kmsKeyID: "arn:aws:kms:<region>:<account-id>:key/<key-id>"
```

자리 표시자 값을 실제 값으로 바꿉니다.
+  `<region>`을 실제 AWS 리전으로 바꿈
+  `<account-id>`를 실제 AWS 계정 ID로 바꿈
+  `<key-id>`를 실제 KMS 키 ID로 바꿈

다음 형식 중 하나를 사용하여 KMS 키를 지정할 수 있습니다.
+ KMS 키 ID: `1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d` 
+ KMS 키 ARN: ` arn:aws:kms:us-west-2:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d` 
+ 키 별칭 이름: `alias/eks-auto-mode-key` 
+ 키 별칭 ARN: ` arn:aws:kms:us-west-2:111122223333:alias/eks-auto-mode-key` 

kubectl을 사용하여 NodeClass 구성을 적용합니다.

```
kubectl apply -f nodeclass.yaml
```

## 관련 리소스
<a name="_related_resources"></a>
+  [Amazon EKS용 NodeClass 생성](create-node-class.md) 
+ AWS Key Management Service 개발자 안내서에서 자세한 내용을 참조하세요.
  +  [키 정책의 AWS 서비스에 대한 권한](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-services.html) 
  +  [키 정책 변경](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html) 
  +  [AWS KMS의 권한 부여](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) 