

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

# 저장 데이터 암호화: Amazon QLDB 작동 방식
<a name="encryption-at-rest.how-it-works"></a>

QLDB *저장 시 암호화*는 256비트 고급 암호화 표준(AES-256)을 사용하여 데이터를 암호화합니다. 이는 기본 스토리지에 대한 무단 액세스로부터 데이터의 보안을 유지하는 데 도움을 줍니다. QLDB 원장에 저장된 모든 데이터는 기본적으로 저장 시 암호화됩니다. 서버 측 암호화는 투명하므로 애플리케이션을 변경할 필요가 없습니다.

저장 시 암호화는 QLDB 원장을 보호하는 데 사용되는 암호화 키를 관리하기 위해 AWS Key Management Service (AWS KMS)와 통합됩니다. 신규 원장을 생성하거나 기존 원장을 갱신할 때 다음 유형의 AWS KMS 키 중 하나를 선택할 수 있습니다.
+ *AWS 소유 키* - 기본 암호화 유형 키는 QLDB가 소유합니다(추가 비용 없음).
+ *고객 관리형 키* - 사용자의 AWS 계정 에 키가 저장되며 사용자가 생성, 소유, 관리하는 유형입니다. 키를 완전히 제어할 수 있습니다(AWS KMS 요금 적용).

**Topics**
+ [

## AWS 소유 키
](#encryption-at-rest.aws-owned)
+ [

## 고객 관리형 키
](#encryption-at-rest.customer-managed)
+ [

## AWS KMS에서 Amazon QLDB가 권한 부여를 사용하는 방법
](#encryption-at-rest.grants)
+ [

## AWS KMS에서 권한 부여 복원하기
](#encryption-at-rest.restoring-grants)
+ [

## 저장 시 암호화 고려 사항
](#encryption-at-rest.considerations)

## AWS 소유 키
<a name="encryption-at-rest.aws-owned"></a>

AWS 소유 키 는에 저장되지 않습니다 AWS 계정. 여러에서 사용하기 위해를 AWS 소유하고 관리하는 KMS 키 모음의 일부입니다 AWS 계정.는 AWS 소유 키 를 사용하여 데이터를 보호할 AWS 서비스 수 있습니다.

 AWS 소유 키는 생성하거나 관리할 필요가 없습니다. 그러나 사용을 보거나 추적 AWS 소유 키하거나 감사할 수 없습니다. 월별 요금이나 사용 요금이 부과되지 AWS 소유 키않으며 계정의 할당량에 AWS KMS 포함되지 않습니다.

자세한 내용은AWS Key Management Service 개발자 안내서의 [AWS 소유 키](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)을 참조하세요.

## 고객 관리형 키
<a name="encryption-at-rest.customer-managed"></a>

고객 관리형 키는 AWS 계정 사용자가 생성, 소유 및 관리하는의 KMS 키입니다. 이러한 KMS 키를 완전히 제어할 수 있습니다. QLDB는 대칭 암호화 KMS 키만 지원합니다.

고객 관리형 키를 사용하여 다음과 같은 기능을 얻을 수 있습니다.
+ 키 정책, IAM 정책 및 권한 부여를 사용하여 KMS 키에 대한 액세스를 제어합니다.
+ 키 활성화 및 비활성화
+ 키에 대한 암호화 자료 순환
+ 키 태그 및 별칭 생성
+ 키 삭제 예약
+ 자체 키 구성 요소 가져오기 또는 사용자가 소유하고 관리하는 사용자 지정 키 스토어 사용
+  AWS CloudTrail 및 Amazon CloudWatch Logs를 사용하여 QLDB가 사용자를 대신하여 AWS KMS 에 보내는 요청 추적

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

고객 관리형 키[는 각 API 호출에 대해 요금이 부과](https://aws.amazon.com/kms/pricing/)되며 할당 AWS KMS 량은 이러한 KMS 키에 적용됩니다. 자세한 내용은 [AWS KMS 리소스 또는 요청 할당량](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)을 참조하세요.

고객 관리형 키를 원장의 KMS 키로 지정하면 저널 스토리지와 인덱싱된 스토리지의 모든 원장 데이터가 동일한 고객 관리형 키로 보호됩니다.

**액세스할 수 없는 고객 관리형 키**

고객 관리형 키를 비활성화하거나, 키 삭제를 예약하거나, 키에 대한 권한 부여를 취소하면 원장 암호화 상태가 `KMS_KEY_INACCESSIBLE`이 됩니다. 이 상태에서는 원장이 손상되어 읽기 또는 쓰기 요청을 수락하지 않습니다. 액세스할 수 없는 키는 모든 사용자와 QLDB 서비스가 데이터를 암호화하거나 해독할 수 없게 하고 원장에서 읽기 및 쓰기 작업을 수행할 수 없게 합니다. QLDB는 사용자가 원장에 지속적으로 액세스하고 데이터 유실을 방지하기 위해 KMS 키에 액세스할 수 있어야 합니다.

**중요**  
손상된 원장은 키에 대한 권한 부여를 복원한 후 또는 비활성화된 키를 다시 활성화하면 자동으로 활성 상태로 돌아갑니다.  
하지만 고객 관리형 키를 삭제하면 *되돌릴 수 없습니다*. 키가 삭제된 후에는 해당 키로 보호되는 원장에 더 이상 액세스할 수 없으며 **데이터를 영구적으로 복구할 수 없게 됩니다**.

원장의 암호화 상태를 확인하려면 AWS Management Console 또는 [DescribeLedger](ledger-management.basics.md#ledger-management.basics.describe) API 작업을 사용합니다.

## AWS KMS에서 Amazon QLDB가 권한 부여를 사용하는 방법
<a name="encryption-at-rest.grants"></a>

QLDB에서 고객 관리형 키를 사용하려면 *권한 부여*가 필요합니다. 고객 관리형 키로 보호되는 원장을 생성하면 QLDB는 [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) 요청을에 전송하여 사용자를 대신하여 권한 부여를 생성합니다 AWS KMS. 의 권한 부여 AWS KMS 는 QLDB에 고객의 KMS 키에 대한 액세스 권한을 부여하는 데 사용됩니다 AWS 계정. 자세한 내용은 *AWS Key Management Service 개발자 가이드*에서 [권한 부여 사용](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)을 참조하세요.

QLDB는 다음 AWS KMS 작업에 대해 고객 관리형 키를 사용할 수 있는 권한이 필요합니다.
+ [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) - 지정된 대칭 암호화 KMS 키가 유효한지 확인합니다.
+ [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) - QLDB가 원장에 저장 데이터를 암호화하는 데 사용하는 고유한 대칭 데이터 키를 생성합니다.
+ [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) - 고객 관리형 키로 암호화된 데이터 키를 해독합니다.
+ [Encrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) - 고객 관리형 키를 사용하여 일반 텍스트를 사이퍼텍스트로 암호화합니다.

언제든지 권한 부여에 대한 액세스 권한을 취소하거나 고객 관리형 키에 대한 서비스 액세스를 제거할 수 있습니다. 이렇게 하면 키에 액세스할 수 없게 되고 QLDB는 고객 관리형 키로 보호되는 원장 데이터에 액세스할 수 없게 됩니다. 이 상태에서는 원장이 손상되어 키에 대한 권한을 복원할 때까지 어떠한 읽기 또는 쓰기 요청도 수락하지 않습니다.

## AWS KMS에서 권한 부여 복원하기
<a name="encryption-at-rest.restoring-grants"></a>

고객 관리형 키에 대한 권한을 복원하고 QLDB에서 원장에 대한 액세스를 복구하려면 원장을 업데이트하고 동일한 KMS 키를 지정합니다. 지침은 [기존 원장의 AWS KMS key 업데이트](encryption-at-rest.using-cust-keys.md#encryption-at-rest.using-cust-keys.update) 섹션을 참조하세요.

## 저장 시 암호화 고려 사항
<a name="encryption-at-rest.considerations"></a>

에서 저장 시 암호화를 사용할 때 다음을 고려하세요.
+ 저장 시 서버 측 암호화는 기본적으로 모든 QLDB 원장 데이터에서 활성화되며 비활성화할 수 없습니다. 원장에서 항목의 하위 집합만 암호화할 수 없습니다.
+ 저장 시 암호화는 영구 스토리지 미디어에서 정적(저장 시) 상태인 데이터만 암호화합니다. 전송 중 데이터 또는 사용 중인 데이터에 대한 데이터 보안 문제가 있는 경우 다음과 같은 추가 조치를 취해야 합니다.
  + *전송 중 데이터*: QLDB의 모든 데이터는 전송 중에 암호화됩니다. 기본적으로 QLDB와의 통신은 Secure Sockets Layer(SSL)/전송 계층 보안(TLS) 암호화를 사용하여 네트워크 트래픽을 보호하는 HTTPS 프로토콜을 사용합니다.
  + *사용 중인 데이터*: 에 보내기 전에 클라이언트 측 암호화를 사용하여 데이터를 보호합니다.

원장에 대해 고객 관리형 키를 구현하는 방법을 알아보려면 [Amazon QLDB에서 고객 관리형 키 사용](encryption-at-rest.using-cust-keys.md) 섹션으로 이동하세요.