本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon DynamoDB 的加密最佳實務
Amazon DynamoDB 是一項全受管 NoSQL 資料庫服務,可提供快速、可預期且可擴展的效能。每當資料儲存在耐用的媒體中時,DynamoDB 靜態加密會保護加密資料表中的資料:包括其主索引鍵、本機及全域次要索引、串流、全域資料表、備份和 DynamoDB Accelerator (DAX) 叢集。
根據資料分類要求,可以透過實作伺服器端或用戶端加密來維護資料機密性和完整性:
對於伺服器端加密,當您建立新資料表時,您可以使用 AWS KMS keys 加密資料表。您可以使用 AWS 擁有的金鑰、 AWS 受管金鑰或客戶受管金鑰。我們建議使用客戶受管金鑰,因為您的組織可以完全控制金鑰,並且當您使用此金鑰類型時,資料表層級加密金鑰、DynamoDB 資料表、本機和全域次要索引以及串流都使用相同的金鑰進行加密。如需這些金鑰類型的詳細資訊,請參閱客戶金鑰和 AWS 金鑰。
注意
您可以隨時在 AWS 擁有的金鑰、 AWS 受管金鑰和客戶受管金鑰之間切換。
對於靜態資料和傳輸中的資料的用戶端加密和端對端保護,您可以使用 Amazon DynamoDB Encryption Client。除了保護項目屬性值機密性的加密之外,DynamoDB Encryption Client 也會簽署項目。這透過啟用偵測對項目的未授權變更 (包括新增或刪除屬性),或用一個加密值替換另一個加密值,來提供完整性保護。
請考慮此服務的下列加密最佳實務:
-
將停用或排程刪除金鑰的許可限制為僅需要執行這些任務的人員。這些狀態可避免所有使用者和 DynamoDB 服務可在資料表上加密或解密資料,以及執行讀取和寫入操作。
-
雖然依預設 DynamoDB 使用 HTTPS 加密傳輸中的資料,但建議使用額外安全控制。您可以使用下列任一選項:
-
AWS Site-to-Site VPN 使用 IPsec 進行加密的 連線。
-
AWS Direct Connect 連線以建立私有連線。
-
AWS Direct Connect 連線與 IPsec 加密私有 AWS Site-to-Site VPN 連線的連線。
-
如果只需要從虛擬私有雲端 (VPC) 內存取 DynamoDB,您可以使用 VPC 閘道端點並僅允許 VPC 中的資源進行存取。這樣可防止流量周遊公有網際網路。
-
-
如果您使用的是 VPC 端點,請將與端點關聯的端點政策和 IAM 政策限制為僅授權使用者、資源及服務。如需詳細資訊,請參閱使用 IAM 政策控制對 DynamoDB 端點的存取和使用端點政策控制對服務的存取。
-
您可以根據加密政策,在應用程式層級對需要加密的資料實作資料欄層級資料加密。
-
設定 DAX 叢集以在設定叢集時加密靜態資料,例如快取中的資料、組態資料和日誌檔案。您無法在現有叢集上啟用靜態加密。此伺服器端加密有助於保護資料,防止透過基礎儲存進行未經授權的存取。DAX 靜態加密會自動與 AWS KMS 整合,以管理用於加密叢集的單一服務預設金鑰。如果建立加密的 DAX 叢集時,服務預設金鑰不存在,則 AWS KMS 會自動建立新的 AWS 受管金鑰。如需詳細資訊,請參閱 DAX 靜態加密。
注意
客戶受管金鑰無法與 DAX 叢集搭配使用。
-
設定 DAX 叢集以在設定叢集時加密傳輸中的資料。您無法在現有叢集上啟用傳輸中加密。DAX 使用 TLS 來加密應用程式與叢集之間的請求和回應,並使用叢集的 x509 憑證來驗證叢集的身分。如需詳細資訊,請參閱 DAX 傳輸中加密。
-
在 中 AWS Config,實作dax-encryption-enabled AWS 受管規則,以驗證和維護 DAX 叢集的加密。