密碼材料供應商 - AWS 資料庫加密 SDK

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

密碼材料供應商

注意

我們的客戶端加密庫被重命名為AWS數據庫加密 SDK。下列主題提供有關版本 1 的資訊。 X-2. 適用於 Java 和版本 1 的 x 個加密用戶端。 X — 3. 適用於 Python 的 x 個加密用戶端。如需詳細資訊,請參閱適用於 DynamoDB 版本支援的資AWS料庫加密 SDK

使用 DynamoDB 加密用戶端時,最重要的決定之一就是選擇加密材料提供者 (CMP)。CMP 會整合密碼編譯資料,並將其傳回至項目加密程式。它也會決定加密和簽署金鑰的產生方式、要為每個項目產生新的金鑰資料還是重複使用這些資料,以及所使用的加密和簽署演算法等。

您可以從 DynamoDB 加密用戶端程式庫中提供的實作中選擇 CMP,或建立相容的自訂 CMP。您的 CMP 選擇也可能取決於您所使用的程式設計語言

本主題說明最常見的 CMP,並提供相關建議以協助您選擇最適用於應用程式的 CMP。

直接 KMS 資料提供者

直接 KMS 材料提供商可以在永遠不會離開 AWS Key Management Service(AWS KMS)未加密AWS KMS key的情況下保護您的表格項目。您的應用程式不會產生或管理任何密碼編譯資料。此提供者會使用 AWS KMS key 為每個項目產生唯一的加密和簽署金鑰,因此在每次為項目加密或解密時,它都會呼叫 AWS KMS。

如果您使用 AWS KMS,且對每項交易發出一次 AWS KMS 呼叫對您的應用程式是可行的,那麼這個提供者將是理想的選擇。

如需詳細資訊,請參閱 直接 KMS 資料提供者

包裝資料提供者 (包裝 CMP)

包裝材料提供者 (包裝的 CMP) 可讓您在 DynamoDB 加密用戶端之外產生和管理包裝和簽署金鑰。

包裝 CMP 會為每個項目產生唯一的加密金鑰。接著,它會使用您所提供的包裝 (或取消包裝) 和簽署金鑰。如此,您可決定包裝和簽署金鑰的產生方式,以及要讓每個項目各有唯一的金鑰還是重複使用這些金鑰。對於不使用AWS KMS且可以安全管理加密資料的應用程式,包裝的 CMP 是 Direct KMS 提供者的安全替代方案。

如需詳細資訊,請參閱 包裝資料提供者

最近提供者

最近提供者是一個密碼編譯資料提供者 (CMP),旨在與提供者存放區搭配使用。它會從提供者存放區取得 CMP,並取得它從 CMP 傳回的密碼編譯資料。最近提供者通常會使用各個 CMP 因應多次密碼編譯資料請求,但您也可以使用提供者存放區的功能來控制資料重複使用的程度、決定輪換 CMP 的頻率,甚至在不變更最近提供者的情況下變更所使用的 CMP 類型。

您可以將最近提供者與任何相容的提供者存放區搭配使用。DynamoDB 加密用戶端包含一個MetaStore,這是傳回包裝 CMP 的提供者存放區。

對於需要盡可能避免呼叫其密碼編譯來源的應用程式,以及可重複使用部分密碼編譯資料而不會違反安全性需求的應用程式,最近提供者將是理想的選擇。例如,它允許您AWS KMS key在 in AWS Key Management Service(AWS KMS) 下保護您的加密材料,而無需AWS KMS每次加密或解密項目時都調用。

如需詳細資訊,請參閱 最近提供者

靜態資料提供者

靜態材料供應商專為測試、proof-of-concept示範和舊版相容性而設計。它不會為每個項目產生任何唯一的密碼編譯資料。它會傳回您所提供的相同加密和簽署金鑰,並直接使用這些金鑰來加密、解密和簽署您的資料表項目。

注意

Java 程式庫中的非對稱靜態提供者不是靜態提供者。其僅提供包裝 CMP 的替代建構函數。此提供者可在生產環境中安全地使用,但只要情況允許,您即應直接使用包裝 CMP。