

# CSE-KMS에서 SSE-KMS로 마이그레이션
<a name="migrating-csekms-ssekms"></a>

CSE-KMS 암호화하는 방법은 두 가지로, 작업 그룹 쿼리 결과 암호화 구성 및 클라이언트 측 설정 중에 지정할 수 있습니다. 자세한 내용은 [Amazon S3에 저장된 Athena 쿼리 결과 암호화](encrypting-query-results-stored-in-s3.md) 섹션을 참조하세요. 마이그레이션 프로세스 중에 CSE-KMS 데이터를 읽고 쓰는 기존 워크플로를 감사하고, CSE-KMS가 구성된 작업 그룹을 식별하고, 클라이언트 측 파라미터를 통해 CSE-KMS가 설정된 인스턴스를 찾는 것이 중요합니다.

## 작업 그룹 쿼리 결과 암호화 설정 업데이트
<a name="migrating-updating-workgroup-query-results-encryption"></a>

------
#### [ Console ]

**Athena 콘솔에서 데이터 암호화 설정 업데이트**

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

1. Athena 콘솔 탐색 창에서 **작업 그룹(Workgroups)**을 선택합니다.

1. **작업 그룹(Workgroups)** 페이지에서 편집할 작업 그룹의 버튼을 선택합니다.

1. **작업(Actions)**, **편집(Edit)**을 선택합니다.

1. **쿼리 결과 구성**을 열고 **쿼리 결과 암호화**를 선택합니다.

1. **암호화 유형** 섹션에서 **SSE\_KMS** 암호화 옵션을 선택합니다.

1. **다른 AWS KMS 키 선택(고급)**에 사용하는 KMS 키를 입력합니다.

1. **변경 사항 저장**을 선택합니다. **작업 그룹(Workgroups)** 페이지의 목록에 업데이트된 작업 그룹이 나타납니다.

------
#### [ CLI ]

다음 명령을 실행하여 쿼리 결과 암호화 구성을 작업 그룹의 SSE-KMS로 업데이트합니다.

```
aws athena update-work-group \
    --work-group "{{my-workgroup}}" \
    --configuration-updates '{
        "ResultConfigurationUpdates": {
            "EncryptionConfiguration": {
                "EncryptionOption": "SSE_KMS",
                "KmsKey": "{{<my-kms-key>}}"
            }
        }
    }'
```

------

## 클라이언트 측 쿼리 결과 암호화 설정 업데이트
<a name="migrating-updating-clientside-query-results-encryption"></a>

------
#### [ Console ]

쿼리 결과 암호화를 위한 클라이언트 측 설정을 CSE-KMS에서 SSE-KMS로 업데이트하려면 [Amazon S3에 저장된 Athena 쿼리 결과 암호화](encrypting-query-results-stored-in-s3.md) 섹션을 참조하세요.

------
#### [ CLI ]

클라이언트 측 설정에서 쿼리 결과 암호화 구성 지정은 `start-query-execution` 명령을 사용해서 할 수 있습니다. 이 CLI 명령을 실행하고 작업 그룹에서 지정한 쿼리 결과 암호화 구성을 CSE-KMS로 재정의하는 경우 다음과 같이 `SSE_KMS`를 사용하여 명령을 변경해 쿼리 결과를 암호화합니다.

```
aws athena start-query-execution \
    --query-string "SELECT * FROM {{<my-table>}};" \
    --query-execution-context "Database={{<my-database>}},Catalog={{<my-catalog>}}" \
    --result-configuration '{
        "EncryptionConfiguration": {
            "EncryptionOption": "SSE_KMS",
            "KmsKey": "{{<my-kms-key>}}"
        }
    }' \
    --work-group "{{<my-workgroup>}}"
```

------

**참고**  
작업 그룹 또는 클라이언트 측 설정을 업데이트한 후 쓰기 쿼리로 삽입하는 모든 신규 데이터는 CSE-KMS 대신 SSE-KMS 암호화를 사용합니다. 쿼리 결과 암호화 구성이 새로 삽입된 테이블 데이터에도 적용되기 때문입니다. Athena 쿼리 결과, 메타데이터 및 매니페스트 파일도 SSE-KMS로 암호화됩니다.
Athena는 CSE-KMS 암호화 객체와 SSE-S3/SSE-KMS 객체가 혼합된 경우에도 `has_encrypted_data` 테이블 속성이 있는 테이블을 읽을 수 있습니다.