資料金鑰快取 - AWS Encryption SDK

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

資料金鑰快取

資料金鑰快取會將資料金鑰相關加密資料全部儲存到快取中。當您加密或解密資料時, 會在快取中 AWS Encryption SDK 尋找相符的資料金鑰。如果找到符合的金鑰,它就會使用該快取資料金鑰,而不會產生新的金鑰。資料金鑰快取可以提升效能、降低成本,並且讓您在應用程式規模不斷擴展時維持不超過服務用量。

應用程式在下列條件下能發揮資料金鑰快取優勢:

  • 它可以重複使用資料金鑰。

  • 它會產生大量的資料金鑰。

  • 您的加密操作會異常地變慢速度、成本昂貴、效能受限或過度使用資源。

快取可以減少密碼編譯服務的使用,例如 AWS Key Management Service (AWS KMS)。如果服務到達 AWS KMS requests-per-second limit,這時快取就能助您一臂之力。您的應用程式可以使用快取金鑰來服務某些資料金鑰請求,而不是呼叫 AWS KMS。(您也可以在AWS 支援中心建立案例,以提高帳戶的限額。)

AWS Encryption SDK 可協助您建立和管理資料金鑰快取。它提供本機快取快取密碼編譯資料管理員 (快取 CMM),其會與快取互動並強制執行您設定的安全閾值。這些元件在整合運作之後,能夠讓您透過重複使用資料金鑰提高產能效率,同時維護系統安全性。

資料金鑰快取是 的選用功能 AWS Encryption SDK ,您應謹慎使用。根據預設, 會為每個加密操作 AWS Encryption SDK 產生新的資料金鑰。這項技術能支援加密操作的最佳實務,而這種做法並不鼓勵過度重複使用資料金鑰。一般而言,資料金鑰快取只會在為了滿足效能目標時才會啟用。接著,請使用資料金鑰快取安全性閾值,確保您是使用最低快取數來達成成本和效能目標。

的 3.x 版 適用於 JAVA 的 AWS Encryption SDK 僅支援使用舊版主金鑰提供者介面的快取 CMM,而非 keyring 介面。不過, AWS Encryption SDK 適用於 .NET 的 4.x 版、適用於 Rust 的 3.x 適用於 JAVA 的 AWS Encryption SDK版 適用於 Python 的 AWS Encryption SDK、 AWS Encryption SDK 適用於 Rust 的 1.x 版,以及 AWS Encryption SDK 適用於 Go 的 0.1.x 版或更新版本支援AWS KMS 階層式 keyring,這是替代的密碼編譯材料快取解決方案。使用 AWS KMS 階層式 keyring 加密的內容只能使用 AWS KMS 階層式 keyring 解密。

如需這些安全權衡的詳細討論,請參閱 AWS Encryption SDK:如何在安全部落格中判斷資料金鑰快取是否適合您的應用程式。 AWS