

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 靜態加密：在 Amazon QLDB 中運作的方式
<a name="encryption-at-rest.how-it-works"></a>

QLDB *靜態加密*會使用 256 位元進階加密標準 (AES-256) 來加密您的資料。這有助於保護您的資料免於未經授權存取基礎儲存。根據預設，存放在 QLDB 分類帳中的所有資料都會進行靜態加密。伺服器端加密是透明的，這表示不需要變更應用程式。

靜態加密與 AWS Key Management Service (AWS KMS) 整合，用於管理用來保護 QLDB 總帳的加密金鑰。建立新總帳或更新現有總帳時，您可以選擇下列其中一種金鑰類型 AWS KMS ：
+ *AWS 擁有的金鑰* – 預設加密類型。金鑰由 QLDB 擁有 （不收取額外費用）。
+ *客戶受管金鑰* – 金鑰存放在 中， AWS 帳戶 由您建立、擁有和管理。您可以完全控制金鑰 （需支付AWS KMS 費用）。

**Topics**
+ [AWS 擁有的金鑰](#encryption-at-rest.aws-owned)
+ [客戶受管金鑰](#encryption-at-rest.customer-managed)
+ [Amazon QLDB 如何在 中使用授予 AWS KMS](#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 帳戶。它們是 KMS 金鑰集合的一部分， AWS 其擁有和管理用於多個 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 政策和授予，以控制對金鑰的存取
+ 啟用和停用金鑰
+ 輪換金鑰的密碼編譯資料
+ 建立金鑰標籤和別名
+ 排程要刪除的金鑰
+ 匯入您自己的金鑰材料或使用您擁有和管理的自訂金鑰存放區
+ 使用 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/)，而配額適用於這些 KMS AWS KMS 金鑰。如需詳細資訊，請參閱[AWS KMS 資源或請求配額](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)。

當您將客戶受管金鑰指定為總帳的 KMS 金鑰時，日誌儲存和索引儲存中的所有總帳資料都會受到相同客戶受管金鑰的保護。

**無法存取的客戶受管金鑰**

如果您停用客戶受管金鑰、排程刪除金鑰，或撤銷金鑰的授予，總帳加密的狀態會變成 `KMS_KEY_INACCESSIBLE`。在此狀態下，總帳受損，不接受任何讀取或寫入請求。無法存取的金鑰可防止所有使用者和 QLDB 服務加密或解密資料，以及在總帳中執行讀取和寫入操作。QLDB 必須能夠存取您的 KMS 金鑰，以確保您可以繼續存取您的總帳並防止資料遺失。

**重要**  
還原金鑰上的授予後，或重新啟用停用的金鑰後，受損的總帳會自動返回作用中狀態。  
不過，刪除客戶受管金鑰是*不可復原*的。刪除金鑰後，您無法再存取以該金鑰保護的總帳，**而且資料會永久無法復原**。

若要檢查分類帳的加密狀態，請使用 AWS 管理主控台 或 [DescribeLedger](ledger-management.basics.md#ledger-management.basics.describe) API 操作。

## Amazon QLDB 如何在 中使用授予 AWS KMS
<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 會使用此金鑰來加密總帳中的靜態資料。
+ [解密](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) – 解密客戶受管金鑰加密的資料金鑰。
+ [加密](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 中的所有資料都會在傳輸中加密。根據預設，QLDB 之間的通訊會使用 HTTPS 通訊協定，其會使用 Secure Sockets Layer (SSL)/Transport Layer Security (TLS) 加密來保護網路流量。
  + *使用中的資料*：使用用戶端加密，在將資料傳送至 QLDB 之前保護您的資料。

若要了解如何實作總帳的客戶受管金鑰，請繼續[在 Amazon QLDB 中使用客戶受管金鑰](encryption-at-rest.using-cust-keys.md)。