設定快取安全性閾值 - AWS Encryption SDK

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

設定快取安全性閾值

實作資料金鑰快取時,您需要設定高速緩存 CMM強制執行。

這類安全性閾值能協助您限制每個已快取資料金鑰可使用的時間長短,以及依據每個資料金鑰可以保護的資料數量。快取項目必須符合所有安全性閾值,CMM 才會傳回已快取的資料金鑰。如果快取項目超過任何一個閾值,該項目就不能用於目前的操作,並將盡快從快取中移出。每個資料金鑰的初次使用 (在快取之前) 不會納入這些閾值中。

根據經驗,最好是使用數量最低、但能滿足成本和效能目標的快取數量。

AWS Encryption SDK 只會快取已使用金鑰衍生函數加密的資料金鑰。此外,它會建立某些閾值的上限值。這些限制能確保,資料金鑰重複使用數量不會超過其加密限制。不過,因為您的純文字資料金鑰已經過快取處理 (預設是記憶體內快取),所以請嘗試將金鑰儲存時間降到最短。此外,請嘗試限制會在金鑰遭洩時可能受到暴露的資料。

有關設置緩存安全閾值的示例,請參閲AWS Encryption SDK:如何判斷您的應用程式是否適合使用資料金鑰快取中的AWS安全性部落格。

注意

快取 CMM 會強制執行下列所有閾值。如果您未指定選用值,則快取 CMM 會使用預設值。

若要暫時停用資料金鑰快取,AWS Encryption SDK提供空密碼編譯資料快取(空緩存)。Null 快取會為每個 GET 請求傳回錯過,而且不會回應任何 PUT 請求。建議您使用 null 快取,而不要將快取容量或安全性閾值設定為 0。如需詳細資訊,請參閱 JavaPython 中的 null 快取。

最大存留期 (必要)

決定快取項目可以使用的時間長度,從項目加入起開始計時。此值為必填。輸入大於 0 的數值。AWS Encryption SDK 不限制存留期上限值。

所有語言實作AWS Encryption SDK定義最大時間(以秒為單位),除了適用於 JavaScript 的 AWS Encryption SDK,它使用毫秒。

使用可讓應用程式繼續發揮快取優勢的最短間隔。您可以使用像金鑰輪換政策的最大存留期閾值。使用它來限制資料金鑰的重複使用,大幅降低加密資料暴露的風險,以及移出在受到快取時可能造成政策改變的資料金鑰。

最大加密訊息數 (選用)

指定快取資料金鑰可以加密的最大訊息數。此值是選用的。請輸入介於 1 到 2^32 之間的訊息數。預設值為 2^32 則訊息。

每個快取金鑰可以保護之訊息數量的設定值,應該要大至能夠取得重複使用次數值、但又能小至能夠限制當金鑰遭到洩漏時可能受到暴露的訊息數。

最大加密位元組數 (選用)

指定快取資料金鑰可以加密的最大位元組數。此值是選用的。請輸入介於 0 到 2^63 - 1 之間的值。預設值為 2^63 - 1。值為 0 只允許您在加密空的訊息字串時使用資料金鑰快取。

評估此閾值時,將會納入目前請求中的位元組。如果已處理的位元組加上目前位元組超過該閾值,則快取的資料金鑰從會從快取移出,即使該金鑰已用於較小的請求。