共用方式為


使用客戶自控金鑰進行資料加密

適用於: 適用於 PostgreSQL 的 Azure Cosmos DB (由 Citus 資料庫延伸模組 支援 PostgreSQL)

儲存在適用於 PostgreSQL 的 Azure Cosmos DB 叢集中的數據會自動且順暢地使用 Microsoft 管理的金鑰加密。 這些金鑰稱為 服務管理的金鑰。 適用於 PostgreSQL 的 Azure Cosmos DB 會使用 Azure 儲存體 加密,預設會使用服務管理的密鑰加密待用數據。 您可以選擇使用客戶管理的金鑰啟用加密,以新增額外的安全性層級。

服務受控金鑰

適用於 PostgreSQL 的 Azure Cosmos DB 服務會使用 FIPS 140-2 驗證的密碼編譯模組來儲存待用數據的加密。 所有數據,包括執行查詢時建立的備份和暫存盤都會在磁碟上加密。 此服務使用包含在 Azure 儲存體加密機制中的 AES 256 位元加密,且金鑰是由系統管理。 儲存體加密會一律啟用,且無法停用。

客戶管理的金鑰

許多組織都需要使用客戶管理的密鑰 (CMK) 完全控制資料存取權。 使用適用於 PostgreSQL 的 Azure Cosmos DB 客戶自控密鑰進行數據加密,可讓您攜帶自己的金鑰來保護待用數據。 此外也可讓組織在金鑰和資料的管理中實作職責區分。 使用客戶管理的加密,您必須負責密鑰生命週期、使用許可權和作業稽核的完整控制權。

使用適用於 PostgreSQL 的 Azure Cosmos DB 客戶自控密鑰進行數據加密,會設定在伺服器層級。 數據,包括備份,都會在磁碟上加密。 此加密包含在執行查詢時建立的暫存盤。 對於指定的叢集,稱為密鑰加密金鑰 (KEK) 的客戶自控密鑰會用來加密服務的數據加密密鑰 (DEK)。 KEK 是非對稱密鑰,儲存在客戶擁有和客戶管理的 Azure 金鑰保存庫 實例中。

描述
資料加密金鑰 (DEK) 數據加密金鑰是對稱的 AES256 金鑰,用來加密資料分割或數據區塊。 使用不同的金鑰加密每個數據區塊,會讓密碼編譯分析攻擊更加困難。 加密和解密特定區塊的資源提供者或應用程式實例需要存取 DEK。 當您以新的金鑰取代 DEK 時,只有其相關聯區塊中的數據必須以新的金鑰重新加密。
金鑰加密金鑰 (KEK) 金鑰加密金鑰是用來加密 DEK 的加密金鑰。 永不離開金鑰保存庫的 KEK 可讓 DEK 本身進行加密和控制。 可存取 KEK 的實體可能與需要 DEK 的實體不同。 由於 KEK 需要解密 DEK,因此 KEK 實際上是單一點,而 KEK 刪除實際上會刪除 DEK。

注意

Azure 金鑰保存庫 是雲端式密鑰管理系統。 它具有高可用性,可為 RSA 密碼編譯金鑰提供可調整且安全的記憶體,並選擇性地由 FIPS 140 驗證 的硬體安全性模組 (HSMs) 支援。 密鑰保存庫不允許直接存取儲存的金鑰,但會將加密和解密服務提供給授權的實體。 金鑰保存庫可以產生金鑰、匯入金鑰,或從內部部署 HSM 裝置傳輸金鑰。

使用 KEK 加密的 DEK 會分開儲存。 只有具有KEK存取權的實體才能解密這些DEK。 如需詳細資訊,請參閱 待用加密的安全性。

使用客戶管理的金鑰進行數據加密的運作方式

為了讓叢集使用儲存在 金鑰保存庫 的客戶自控金鑰來加密 DEK,金鑰保存庫 系統管理員會提供下列伺服器存取權限:

描述
get 啟用擷取金鑰保存庫中金鑰的公用部分和屬性。
wrapKey 啟用 DEK 的加密。 加密的 DEK 會儲存在適用於 PostgreSQL 的 Azure Cosmos DB 中。
unwrapKey 啟用 DEK 的解密。 適用於 PostgreSQL 的 Azure Cosmos DB 需要解密的 DEK 來加密/解密數據。

金鑰保存庫系統管理員也可以啟用 金鑰保存庫 稽核事件的記錄,以便稍後進行稽核。 當適用於 PostgreSQL 的 Azure Cosmos DB 叢集設定為使用儲存在密鑰保存庫中的客戶自控金鑰時,叢集會將 DEK 傳送至密鑰保存庫以進行加密。 金鑰保存庫 會傳回儲存在用戶資料庫中的加密 DEK。 同樣地,必要時,伺服器會將受保護的 DEK 傳送至密鑰保存庫以進行解密。 如果已啟用記錄,稽核員可以使用 Azure 監視器來檢閱 金鑰保存庫 稽核事件記錄。

Screenshot of architecture of data enrcryption with customer-managed keys.

福利

使用適用於 PostgreSQL 的 Azure Cosmos DB 客戶自控密鑰進行資料加密可提供下列優點:

  • 您可以完全控制數據存取,並能夠移除金鑰並讓資料庫無法存取。
  • 完整控制金鑰生命週期,包括密鑰輪替以符合特定公司原則。
  • Azure 金鑰保存庫 中密鑰的集中管理和組織。
  • 能夠實作安全性人員、資料庫管理員和系統管理員之間的職責區隔。
  • 啟用加密沒有任何額外的效能效果,無論是否使用客戶管理的金鑰。 適用於 PostgreSQL 的 Azure Cosmos DB 依賴 Azure 儲存體,以在客戶管理和服務管理的密鑰案例中加密數據。

下一步