使用客戶管理的金鑰設定 Azure Cache for Redis 實例的磁碟加密
根據預設,Redis 伺服器中的資料會儲存在記憶體中。 此資料不會加密。 您可以先對資料實作自己的加密方法,再將資料寫入到快取中。 在某些情況下,會因為作業系統執行作業,或是您刻意進行使用匯出 (部分機器翻譯) 或資料持續性 (部分機器翻譯) 來保存資料的動作,因此資料可能會位於磁碟上。
Azure Cache for Redis 預設會提供平台代控金鑰 (PMK) (也稱為 Microsoft 代控金鑰 (MMK)) 來加密所有階層中的磁碟資料。 Enterprise 和 Enterprise Flash 階層的 Azure Cache for Redis 另外提供了使用客戶自控金鑰 (CMK) 來加密 OS 和資料持續性磁碟的功能。 客戶自控金鑰可用來包裝 MMK 以控制這些金鑰的存取。 這使得 CMK 成為「金鑰加密金鑰」(簡稱 KEK)。 如需詳細資訊,請參閱 Azure 中的金鑰管理 (部分機器翻譯)。
CMK 磁碟加密的可用性範圍
層 | 基本、標準、進階 | Enterprise,Enterprise Flash |
---|---|---|
Microsoft 代控金鑰 (MMK) | Yes | Yes |
客戶自控金鑰 (CMK) | No | Yes |
警告
根據預設,所有 Azure Cache for Redis 階層都會使用 Microsoft 代控金鑰來加密掛接至快取執行個體的磁碟。 不過,在基本層和標準層中,C0 和 C1 SKU 不支援任何磁碟加密。
重要
在進階層中,資料持續性會將資料直接串流至 Azure 儲存體,因此磁碟加密較不重要。 Azure 儲存體會改為提供各種不同的加密方法以供使用。
加密涵蓋範圍
企業層級
在「Enterprise」階層中,會使用磁碟加密來加密持續性磁碟、暫存檔案和 OS 磁碟:
- 持續性磁碟:保存所保存的 RDB 或 AOF 檔案作為資料持續性 (部分機器翻譯) 的一部分
- 「匯出」中使用的暫存檔案:會加密匯出的所使用暫存資料。 當您匯出 (部分機器翻譯) 資料時,會由儲存體帳戶中的設定來控制最終匯出資料的加密。
- OS 磁碟
預設會使用 MMK 來加密這些磁碟,但也可以使用 CMK 來加密。
在「Enterprise Flash」階層中,也會使用非揮發性記憶體 Express (NVMe) 快閃儲存體將金鑰和值部分儲存在磁碟上。 不過,此磁碟與用於所保存資料的磁碟不同。 與其相反,這是暫時性的磁碟,而且在快取停止、解除配置或重新啟動後便不會保存資料。 此磁碟僅支援MMK,因為此資料為暫時性與暫時性。
儲存的資料 | 磁碟 | 加密選項 |
---|---|---|
持續性檔案 | 持續性磁碟 | MMK 或 CMK |
等待匯出的 RDB 檔案 | OS 磁碟和持續性磁碟 | MMK 或 CMK |
金鑰和值 (僅限 Enterprise Flash 階層) | 暫時性 NVMe 磁碟 | MMK |
其他階層
在「基本層、標準層和進階層」中,預設會使用 MMK 來加密 OS 磁碟。 不會掛接持續性磁碟,而是改為使用 Azure 儲存體。 C0 和 C1 SKU 不會使用磁碟加密。
先決條件與限制
一般必要條件和限制
- C0 或 C1 SKU 的基本層和標準層無法使用磁碟加密
- 僅支援以使用者指派的受控識別來連線到 Azure Key Vault。 不支援系統指派的受控識別。
- 在現有的快取執行個體上於 MMK 與 CMK 之間進行變更會觸發長時間執行的維護作業。 不建議將此用於生產環境,否則會發生服務中斷。
Azure Key Vault 必要條件和限制
- 包含客戶自控金鑰的 Azure Key Vault 資源必須位於與快取資源相同的區域中。
- 必須在 Azure Key Vault 執行個體中啟用清除保護和虛刪除。 預設不會啟用清除保護。
- 當您在 Azure Key Vault 中使用防火牆規則時,必須將 Key Vault 執行個體設定為允許信任的服務。
- 僅支援 RSA 金鑰
- 使用者指派的受控識別必須在 Key Vault 存取原則中獲得「取得」、、「解除包裝金鑰」和「包裝金鑰」權限,或是獲得 Azure 角色型存取控制中的對等權限。 此案例所需、具有最低權限的建議內建角色定義稱為 KeyVault 密碼編譯服務加密使用者 (部分機器翻譯)。
如何在 Enterprise 快取上設定 CMK 加密
使用入口網站建立啟用了 CMK 的新快取
登入 Azure 入口網站並開始建立 Redis Enterprise 快取 (部分機器翻譯) 快速入門指南。
在 [進階] 頁面上,移至標題為 [客戶自控金鑰待用加密] 的區段,然後啟用 [使用客戶自控金鑰] 選項。
選取 [新增] 將使用者指派的受控識別 (部分機器翻譯) 指派給資源。 此受控識別可用來連線到保存客戶自控金鑰的 Azure Key Vault (部分機器翻譯) 執行個體。
選取您選擇的使用者指派受控識別,然後選擇要使用的金鑰輸入方法。
如果使用 [選取 Azure 金鑰保存庫和金鑰] 輸入方法,請選擇保存了客戶自控金鑰的 Key Vault 執行個體。 這個執行個體必須位於與快取相同的區域。
注意
如需如何設定 Azure Key Vault 執行個體的指示,請參閱 Azure Key Vault 快速入門指南 (部分機器翻譯)。 您也可以選取 Key Vault 選取項目下方的 [建立金鑰保存庫] 連結,來建立新的 Key Vault 執行個體。 請記住,Key Vault 執行個體中必須同時啟用清除保護和虛刪除。
使用 [客戶自控金鑰 (RSA)] 和 [版本] 下拉式清單來選擇特定金鑰和版本。
如果使用 [URI] 輸入方法,請為您從 Azure Key Vault 選擇的金鑰輸入「金鑰識別碼 URI」。
輸入完快取的所有資訊時,請選取 [檢閱 + 建立]。
將 CMK 加密新增至現有 Enterprise 快取
移至快取執行個體 [資源] 功能表中的 [加密]。 如果已設定好 CMK,則會看到金鑰資訊。
如果尚未設定好,或想要變更 CMK 設定,請選取 [變更加密設定]
選取 [使用客戶自控金鑰] 以查看設定選項。
選取 [新增] 將使用者指派的受控識別 (部分機器翻譯) 指派給資源。 此受控識別可用來連線到保存客戶自控金鑰的 Azure Key Vault (部分機器翻譯) 執行個體。
選取您選擇的使用者指派受控識別,然後選擇要使用的金鑰輸入方法。
如果使用 [選取 Azure 金鑰保存庫和金鑰] 輸入方法,請選擇保存了客戶自控金鑰的 Key Vault 執行個體。 這個執行個體必須位於與快取相同的區域。
注意
如需如何設定 Azure Key Vault 執行個體的指示,請參閱 Azure Key Vault 快速入門指南 (部分機器翻譯)。 您也可以選取 Key Vault 選取項目下方的 [建立金鑰保存庫] 連結,來建立新的 Key Vault 執行個體。
使用 [客戶自控金鑰 (RSA)] 下拉式清單來選擇特定金鑰。 如果有多個版本的金鑰可供選擇,請使用 [版本] 下拉式清單。
如果使用 [URI] 輸入方法,請為您從 Azure Key Vault 選擇的金鑰輸入「金鑰識別碼 URI」。
選取儲存
下一步
深入了解 Azure Cache for Redis 功能: