

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

# 搭配 使用 AWS 資料庫加密 SDK AWS KMS
<a name="using-kms"></a>


****  

|  | 
| --- |
| 我們的用戶端加密程式庫已重新命名為 AWS 資料庫加密 SDK。此開發人員指南仍提供有關 [DynamoDB 加密用戶端](legacy-dynamodb-encryption-client.md)的資訊。 | 

若要使用 AWS 資料庫加密 SDK，您需要設定 [keyring](keyrings.md) 並指定一或多個包裝金鑰。如果您沒有金鑰基礎架構，建議您使用 [AWS Key Management Service (AWS KMS)](https://aws.amazon.com/kms/)。

 AWS Database Encryption SDK 支援兩種類型的 AWS KMS keyring。傳統 [AWS KMS keyring](use-kms-keyring.md) 會使用 [AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys) 來產生、加密和解密資料金鑰。您可以使用對稱加密 (`SYMMETRIC_DEFAULT`) 或非對稱 RSA KMS 金鑰。由於 AWS Database Encryption SDK 會使用唯一的資料金鑰來加密和簽署每個記錄， AWS KMS 因此 keyring 必須 AWS KMS 針對每個加密和解密操作呼叫 。對於需要將呼叫次數降至最低的應用程式 AWS KMS， AWS 資料庫加密 SDK 也支援[AWS KMS 階層式 keyring](use-hierarchical-keyring.md)。階層式 keyring 是一種密碼編譯資料快取解決方案，使用保留在 Amazon DynamoDB 資料表中的 AWS KMS 受保護*分支金鑰*，然後本機快取用於加密和解密操作的分支金鑰資料，以減少 AWS KMS 呼叫次數。我們建議您盡可能使用 AWS KMS keyring。

若要與 互動 AWS KMS， AWS 資料庫加密 SDK 需要 的 AWS KMS 模組 適用於 Java 的 AWS SDK。

**準備搭配 使用 AWS 資料庫加密 SDK AWS KMS**
+ 建立對稱加密 AWS KMS key。如需協助，請參閱《 *AWS Key Management Service 開發人員指南*[》中的建立金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)。
**提示**  
若要以 AWS KMS key 程式設計方式使用 ，您需要 的 Amazon Resource Name (ARN) AWS KMS key。如需尋找 之 ARN 的說明 AWS KMS key，請參閱《 *AWS Key Management Service 開發人員指南*》中的[尋找金鑰 ID 和 ARN](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html#find-cmk-id-arn)。