

# 관리형 쿼리 결과 암호화
<a name="encrypting-managed-results"></a>

Athena는 [관리형 쿼리 결과](managed-results.md) 암호화를 위해 다음의 옵션을 제공합니다.

## AWS 소유 키를 사용하여 암호화
<a name="encrypting-managed-results-aws-owned-key"></a>

관리형 쿼리 결과를 사용할 때의 기본 옵션입니다. 이 옵션은 쿼리 결과를 AWS 소유 키를 사용해 암호화할 것임을 나타냅니다. AWS 소유 키는 AWS 계정에 저장되지 않으며 AWS가 소유한 KMS 키 모음의 일부입니다. AWS 소유 키의 사용에는 요금이 부과되지 않으며, 계정의 AWS KMS 할당량에 포함되지 않습니다.

## AWS KMS 고객 관리형 키를 사용하여 암호화
<a name="encrypting-managed-results-customer-managed-key"></a>

고객 관리형 키는 사용자가 생성, 소유 및 관리하는 AWS 계정의 KMS 키입니다. 사용자는 키 정책 설정 및 관리, IAM 정책, 권한 부여, 해당 권한의 활성화 및 비활성화, 암호화 구성 요소 교체, 태그 추가, 이에 대한 별칭 생성 및 삭제를 위한 KMS 예약 등을 포함해 KMS 키에 대한 완전한 제어 권한을 가집니다. 자세한 내용은 [고객 관리형 키](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)를 참조하세요.

## Athena가 결과 암호화에 고객 관리형 키를 사용하는 방식
<a name="encrypting-managed-results-how-ate-uses-cmk"></a>

고객 관리형 키를 지정하면 Athena가 이를 사용하여 쿼리 결과가 관리형 쿼리 결과에 저장될 때 암호화합니다. `GetQueryResults`를 호출할 때 동일한 키를 사용하여 결과를 복호화합니다. 고객 관리형 키의 상태를 비활성화로 설정하거나 삭제를 예약하면 Athena 및 모든 사용자가 해당 키를 사용하여 결과를 암호화하거나 복호화할 수 없습니다.

Athena는 봉투 암호화 및 키 계층 구조를 사용하여 데이터를 암호화합니다. AWS KMS 암호화 키는 이 키 계층 구조의 루트 키를 생성하고 복호화하는 데 사용됩니다.

각 결과는 암호화할 때 작업 그룹에 구성된 고객 관리형 키를 사용하여 암호화됩니다. 키를 다른 고객 관리형 키 또는 AWS 소유 키로 전환해도 새 키가 기존 결과를 다시 암호화하지 않습니다. 특정 고객 관리형 키를 삭제하고 비활성화하는 것은 해당 키가 암호화한 결과의 복호화에만 영향을 미칩니다.

Athena가 결과를 암호화하고 복호화하기 위해 `kms:Decrypt`, `kms:GenerateDataKey` 및 `kms:DescribeKey` 작업을 수행하려면 암호화 키에 대한 액세스 권한이 필요합니다. 자세한 내용은 [Amazon S3의 암호화 데이터 권한](encryption.md#permissions-for-encrypting-and-decrypting-data) 섹션을 참조하세요.

`StartQueryExecution` API를 사용하여 쿼리를 제출하고 `GetQueryResults`를 사용해 결과를 읽는 보안 주체는 Athena 및 Amazon S3 권한 외에도 `kms:Decrypt`, `kms:GenerateDataKey` 및 `kms:DescribeKey` 작업에 대한 고객 관리형 키의 권한도 있어야 합니다. 자세한 내용은 [AWS KMS에서 키 정책](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-users)을 참조하세요.