在 Azure Cosmos DB for PostgreSQL 中使用客戶自控金鑰啟用資料加密
適用於: Azure Cosmos DB for PostgreSQL (由 PostgreSQL 的超大規模 (Citus) 資料庫延伸模組提供)
必要條件
- 現有的 Azure Cosmos DB for PostgreSQL 帳戶。
- 如果您有 Azure 訂用帳戶,請建立新的帳戶。
- 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。
- 或者,您可以在認可之前免費試用 Azure Cosmos DB。
使用客戶自控金鑰啟用資料加密
重要
在將部署 Azure Cosmos DB for PostgreSQL DB 叢集所在的相同區域中,建立下列所有資源。
建立使用者指派的受控識別。 目前,Azure Cosmos DB for PostgreSQL 僅支援使用者指派的受控識別。
建立 Azure Key Vault,並將存取原則新增至具有下列金鑰權限的已建立使用者指派受控識別:取得、將金鑰解除包裝和包裝金鑰。
在金鑰保存庫中產生金鑰 (支援的金鑰類型:RSA 2048、3071、4096)。
在建立 Azure Cosmos DB for PostgreSQL 叢集期間,選取客戶自控金鑰加密選項,然後選取在步驟 1、2 和 3 中建立的適當使用者指派的受控識別、金鑰保存庫和金鑰。
詳細步驟
使用者指派的受控識別
在全域搜尋列中搜尋受控識別。
在與 Azure Cosmos DB for PostgreSQL 叢集相同的區域中建立新使用者指派的受控識別。
深入了解使用者指派的受控識別。
Key Vault
若要將客戶自控金鑰用於 Azure Cosmos DB for PostgreSQL,您必須在您打算用來裝載加密金鑰的 Azure Key Vault 執行個體上設定兩個屬性:[虛刪除] 和 [清除保護]。
如果您建立新的 Azure Key Vault 執行個體,請在建立期間啟用這些屬性:
如果您使用現有的 Azure Key Vault 執行個體,您可以查看 Azure 入口網站上的 [屬性] 區段,以確認這些屬性是否已啟用。 如果這些屬性皆未啟用,請參閱下列任一篇文章中的「啟用虛刪除」和「啟用清除保護」小節。
金鑰保存庫的保留已刪除保存庫的天數必須設定為 90 天。 如果現有的金鑰保存庫已設為較低的天數,則您必須建立新的金鑰保存庫,因為建立該值之後便無法修改。
重要
您的 Azure Key Vault 執行個體必須允許來自所有網路的公用存取。
在金鑰保存庫中新增存取原則
在 Azure 入口網站中,移至您打算用來裝載加密金鑰的 Azure Key Vault 執行個體。 在左側功能表上,選取 [存取設定]。 請確定已在 [權限模型] 底下選取 保存庫存取原則,然後選取 [前往存取原則]。
選取 + 建立。
在 [金鑰權限] 下拉式功能表下的 [權限] 索引標籤中,選取 [取得]、[將金鑰解除包裝]和 [包裝金鑰] 權限。
在 [主體] 索引標籤中,選取您在先決條件步驟中建立 [使用者指派的受控識別]。
瀏覽至 [檢閱+建立] 並選取 [建立]。
建立/匯入金鑰
在 Azure 入口網站中,移至您打算用來裝載加密金鑰的 Azure Key Vault 執行個體。
選取左側功能表的 [金鑰],然後選取 [+ 產生/匯入]。
用來加密 DEK 的客戶自控金鑰僅可為非對稱的 RSA 金鑰型別。 支援所有 RSA 金鑰大小 2048、3072 和 4096。
金鑰啟用日期 (若已設定) 必須是過去的日期和時間。 到期日 (若已設定) 必須是未來的日期和時間。
金鑰必須處於「已啟用」狀態。
如果您要將現有金鑰匯入金鑰保存庫,請務必以支援的檔案格式 (
.pfx
、.byok
、.backup
) 加以提供。如果您手動輪替金鑰,則不應在至少 24 小時內刪除舊金鑰版本。
在佈建新叢集期間啟用 CMK 加密
在佈建 Azure Cosmos DB for PostgreSQL 叢集期間,在 [基本] 和 [網路] 索引標籤下提供必要資訊之後,瀏覽至加密索引標籤。
選取資料加密金鑰選項下的客戶自控金鑰。
選取您在先前章節中建立的使用者指派受控識別。
選取在先前步驟中建立的金鑰保存庫,此保存庫具有先前步驟中所選取之使用者受控識別的存取原則。
選取在先前步驟中建立的金鑰,然後選取檢閱 + 建立。
建立叢集之後,請在 Azure 入口網站中瀏覽至 Azure Cosmos DB for PostgreSQL 叢集的資料加密刀鋒視窗,確認 CMK 加密已啟用。
注意
資料加密只能在建立新叢集期間設定,而且無法在現有叢集上更新。 更新現有叢集加密設定的因應措施是執行 叢集還原,並在建立新還原的叢集期間設定資料加密。
高可用性
在主要叢集上啟用 CMK 加密時,主要叢集的金鑰會自動加密所有 HA 待命節點。
執行 PITR 來變更加密設定
加密設定可以從服務自控加密變更為客戶字控加密,反之亦然,同時執行叢集還原作業 (PITR - 時間點還原)。
在 Key Vault 中監視客戶管理的金鑰
若要監視資料庫狀態,以及啟用透明資料加密保護裝置存取的遺失警示,請設定 Azure 的下列功能:
Azure 資源健康狀態:一個無法存取且其已失去客戶金鑰存取權的資料庫,會在首次連線至資料庫遭拒後顯示為「無法存取」。
活動記錄:當客戶管理的 Key Vault 中的客戶金鑰存取失敗時,系統會將這些項目新增至活動記錄中。 如果您為這些事件建立警示,則可以盡快恢復存取。
動作群組:定義這些群組,以根據您的喜好設定傳送通知和警示。
下一步
- 了解使用客戶自控金鑰進行資料加密
- 請參閱 CMK 限制 及 Azure Cosmos DB for PostgreSQL 的限制