靜態加密:如何運作 - Amazon DynamoDB

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

靜態加密:如何運作

Amazon DynamoDB 靜態加密功能會使用 256 位元的進階加密標準 (AES-256) 來加密您的資料,此項標準有助於防止對底層儲存未經授權的存取,進而保護您的資料。

靜態加密與 AWS Key Management Service (AWS KMS) 整合,用於管理用於加密表格的加密金鑰。

注意

在 2022 年 5 月,將輪 AWS KMS 換日程 AWS 受管金鑰 從每 3 年 (約 1,095 天) 變更為每年 (約 365 天)。

新功能會 AWS 受管金鑰 在建立一年後自動輪換,之後大約每年輪換一次。

現 AWS 受管金鑰 有檔案會在最近輪替一年後自動輪換,之後每年輪換一次。

AWS 擁有的金鑰

AWS 擁有的金鑰 不會儲存在您的 AWS 帳戶中。它們是 AWS 擁有和管理以在多個 AWS 帳戶中使用的 KMS 金鑰集合的一部分。 AWS 服務可用 AWS 擁有的金鑰 來保護您的資料。 AWS 擁有的金鑰 DynamoDB 所使用的每年輪換一次 (大約 365 天)。

您無法檢視、管理 AWS 擁有的金鑰、使用或稽核其使用狀況。不過,您不需要執行任何工作或變更任何程式,即可保護加密您的資料的金鑰。

使用時不會向您收取月費或使用費 AWS 擁有的金鑰,也不會計入您帳戶的 AWS KMS 配額。

AWS 受管金鑰

AWS 受管金鑰 是您帳戶中的 KMS 金鑰,由與整合的 AWS 服務代表您建立、管理和使用 AWS KMS。您可以檢視您的帳戶中的 AWS 受管金鑰 ,檢視其金鑰政策,以及在 AWS CloudTrail 日誌中稽核其使用方式。不過,您無法管理這些 KMS 金鑰或變更其許可。

靜態加密會自動整 AWS KMS 合,以 AWS 受管金鑰 管理用於加密表格的 DynamoDB (aws/dynamodb)。如果在您建立加密的 DynamoDB 表時不存在, AWS KMS 會自動為您建立新金鑰。 AWS 受管金鑰 此金鑰會與 future 建立的加密資料表一起使用。 AWS KMS 結合安全、高可用性的硬體和軟體,提供專為雲端擴充的金鑰管理系統。

如需有關管理的權限的詳細資訊 AWS 受管金鑰,請參閱《AWS Key Management Service 開發人員指南》 AWS 受管金鑰中的授權使用

客戶受管金鑰

客戶受管金鑰是您 AWS 帳戶中您建立、擁有和管理的 KMS 金鑰。您可以完全控制這些 KMS 金鑰,包括建立和維護其金鑰政策、IAM 政策和授與、啟用和停用它們、輪換其密碼編譯材料、新增標籤、建立參考別名,以及排程供刪除。如需有關管理客戶受管金鑰的詳細資訊,請參閱客戶受管金鑰政策

當您指定一個客戶受管金鑰作為資料表層級加密金鑰時,DynamoDB 資料表、本機和全域次要索引及串流皆會以相同的客戶受管金鑰加密。隨需備份會以於備份建立時指定的資料表層級加密金鑰加密。更新資料表層級加密金鑰並不會變更與現有隨需備份相關的加密金鑰。

將客戶受管金鑰的狀態設為停用,或排定其刪除時間,可避免所有使用者和 DynamoDB 服務可在資料表上加密或解密資料,以及執行讀取或寫入操作。DynamoDB 必須能夠存取您的加密金鑰,才能確保您可以繼續存取資料表並避免資料遺失。

如果您停用客戶受管金鑰或排定其刪除的時間,您的資料表狀態就會成為 Inaccessible (無法存取)。為確保您可以持續使用資料表進行作業,您必須在七天內為指定的加密金鑰提供 DynamoDB 存取權限。只要服務偵測到您的加密金鑰無法存取,DynamoDB 就會寄送電子通知提醒您。

注意
  • 如果您的客戶受管金鑰仍然無法由 DynamoDB 服務存取且時間超過七天,資料表就會存檔並無法再存取。DynamoDB 會建立資料表的隨需備份,並會向您收取費用。您可以使用隨需備份還原您的資料至新的資料表。若要開始還原,最後一個在資料表中的客戶受管金鑰必須啟用,且 DynamoDB 必須可以存取該資料表。

  • 如果用來加密全域資料表複本的客戶受管金鑰無法存取,DynamoDB 會從複寫群組中移除此複本。將不會刪除複本,且複寫將會在偵測到客戶受管金鑰為無法存取後 20 小時停止進出此區域。

如需更多詳細資訊,請參閱啟用金鑰刪除金鑰。

使用注意事項 AWS 受管金鑰

除非 Amazon DynamoDB 可以存取您帳戶中存放的 KMS 金鑰,否則無法讀取您 AWS KMS 的表格資料。DynamoDB 使用信封加密和金鑰階層來加密資料。您的 AWS KMS 加密金鑰會用來加密此金鑰階層的根金鑰。如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的封套加密

您可以使用 AWS CloudTrail 和 Amazon CloudWatch 日誌來追蹤 DynamoDB 代表您傳送 AWS KMS 的請求。如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的監控 DynamoDB 與 AWS KMS的互動

不會 AWS KMS 針對每個 DynamoDB 作業呼叫。每個具有作用中流量的呼叫者每 5 分鐘會重新整理一次金鑰。

請確定您已設定好 SDK,來重複使用連線。否則,您將會遇到 DynamoDB 的延遲,必須為每個 DynamoDB 作業重新建立新的 AWS KMS 快取項目。此外,您可能不得不面對更高 AWS KMS 和 CloudTrail成本。例如,若要使用 Node.js SDK 來執行這項動作,您可以在 keepAlive 開啟時,建立新的 HTTPS 代理。如需詳細資訊,請參閱《AWS SDK for JavaScript 開發人員指南》中的在 Node.js 中設定 keepAlive