用戶端加密和伺服器端加密 - AWS 資料庫加密 SDK

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

用戶端加密和伺服器端加密

我們的用戶端加密程式庫已重新命名為 AWS 資料庫加密SDK。本開發人員指南仍提供 DynamoDB 加密用戶端的相關資訊。

DynamoDB 的資料 AWS 庫加密SDK支援用戶端加密,您可以在表格資料傳送到資料庫之前先加密資料表資料。不過,DynamoDB 提供伺服器端靜態加密功能,可在資料表保留至磁碟時透明地加密資料表,並在您存取資料表時對其進行解密。

您所應選擇的工具,取決於資料的敏感度以及應用程式的安全性需求。您可以SDK針對 DynamoDB 使用 AWS 資料庫加密和靜態加密。當您將加密和簽署的項目傳送到 DynamoDB 時,DynamoDB 無法將這些項目識別為受保護。它只會偵測具有二進位屬性值的一般資料表項目。

伺服器端靜態加密

DynamoDB 支援靜態加密,這是一項伺服器端加密功能,其中 DynamoDB 會在資料表保留至磁碟時為您透明地為您加密資料表,並在您存取資料表資料時對其進行解密。

當您使用與 DynamoDB 互動時,預設情況下,您的資料會在透過HTTPS連線傳輸時加密、在 DynamoDB 端點解密,然後在 DynamoDB 中儲存之前重新加密。 AWS SDK

  • 默認情況下加密。DynamoDB 會在寫入所有表格時透明地加密和解密這些資料表。沒有啟用或停用靜態加密的選項。

  • DynamoDB 會建立和管理加密編譯金鑰。每個表的唯一AWS KMS key密鑰受到永遠不會離開 AWS Key Management Service(AWS KMS)未加密的保護。根據預設,DynamoDB 會AWS 擁有的金鑰在 DynamoDB 服務帳戶中使用,但您可以在帳戶中選擇AWS 受管金鑰客戶管理的金鑰來保護部分或全部表格。

  • 所有表格資料都會在磁碟上加密。將加密的表格儲存到磁碟時,DynamoDB 會加密所有表格資料,包括主索引鍵以及本機和全域次要索引。如果您的資料表有排序索引鍵,則某些標示範圍界限的排序索引鍵將會以純文字的格式存放在資料表中繼資料中。

  • 與資料表相關的物件也會加密。靜態加密可在 DynamoDB 串流全域資料表備份寫入耐用媒體時提供保護。

  • 當您訪問它們時,您的項目將被解密。當您存取資料表時,DynamoDB 會解密包含目標項目的表格部分,並將純文字項目傳回給您。

AWS SDK適用於資料庫加密

用戶端加密可為您的資料 (從資料來源到 DynamoDB 中的儲存) 提供 end-to-end 保護,包括傳輸中和靜態資料。您的明文數據永遠不會暴露給任何第三方,包括. AWS您可以將 DynamoDB 的 AWS 資料庫加密SDK與新的 DynamoDB 表格搭配使用,也可以將現有的 Amazon DynamoDB 表格遷移到第 3 版。 適用於 Java 用戶端加密程式 DynamoDB x 個。

  • 傳輸中和靜態的資料都受到保護。它永遠不會暴露給任何第三方,包括 AWS.

  • 您可以簽署您的資料表項目。您可以指示 DynamoDB 的 AWS 資料庫加密SDK計算全部或部分表格項目 (包括主索引鍵屬性) 的簽章。此簽章可讓您偵測對整體項目的未授權變更,包括新增或刪除屬性,或是交換屬性值。

  • 您可以透過選取金鑰圈來決定資料受到保護方式。您的金鑰圈會決定保護資料金鑰的包裝金鑰,以及最終保護資料的金鑰。使用對您的任務實用的最安全的包裝密鑰。

  • DynamoDB 的 AWS 資料庫加密SDK不會加密整個資料表。您可以選擇項目中要加密的屬性。DynamoDB 的 AWS 資料庫加密SDK不會加密整個項目。它不會加密屬性名稱,或是主索引鍵 (分割區索引鍵和排序索引鍵) 屬性的名稱或值。

AWS Encryption SDK

如果您要加密儲存在 DynamoDB 中的資料,我們建議您使用 DynamoDB 的資料 AWS 庫加密SDK。

AWS Encryption SDK 是用戶端加密程式庫,可協助您進行一般資料的加密和解密。雖然它可保護任何類型的資料,但在設計上並不是用來處理結構化資料 (例如資料庫記錄)。與 DynamoDB 的 AWS 資料庫加密SDK不同, AWS Encryption SDK 無法提供項目層級完整性檢查,也沒有識別屬性或防止主金鑰加密的邏輯。

如果您使用 AWS Encryption SDK 來加密表格的任何元素,請記住它與 DynamoDB 的 AWS 資料庫加密SDK不相容。您無法用一個程式庫加密,但用另一個程式庫解密。