共用方式為


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

適用於: Azure Cosmos DB for PostgreSQL (由 PostgreSQL 的超大規模 (Citus) 資料庫延伸模組提供)

儲存在 Azure Cosmos DB for PostgreSQL 叢集中的資料,會自動以 Microsoft 管理的金鑰進行縝密加密。 這類金鑰稱為服務受控金鑰。 Azure Cosmos DB for PostgreSQL 使用 Azure 儲存體加密,依預設以服務受控金鑰加密待用資料。 您可以選擇使用客戶受控金鑰啟用加密,額外增加一層安全性。

服務受控金鑰

Azure Cosmos DB for PostgreSQL 服務針對待用資料的儲存體加密,是使用經過 FIPS 140-2 驗證的密碼編譯模組。 系統會將所有資料 (包含備份) 和執行查詢時所建立的暫存檔案加密。 此服務使用包含在 Azure 儲存體加密機制中的 AES 256 位元加密,且金鑰是由系統管理。 儲存體加密會一律啟用,且無法停用。

客戶管理的金鑰

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

Azure Cosmos DB for PostgreSQL 的客戶自控金鑰資料加密是在伺服器層級設定。 資料 (包括備份) 是在磁碟上加密。 此加密包含在執行查詢時建立的暫存檔案。 針對指定的叢集,系統會使用客戶自控金鑰 (稱為「金鑰加密金鑰」(KEK)) 來加密服務的資料加密金鑰 (DEK)。 KEK 是儲存在客戶擁有及客戶所管理 Azure Key Vault 執行個體中的非對稱金鑰。

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

注意

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

以 KEK 加密的 DEK 會個別儲存。 只有具有 KEK 存取權限的實體可以解密這些 DEK。 如需詳細資訊,請參閱待用加密的安全性

客戶自控金鑰如何加密資料

叢集若使用儲存於 Key Vault 的客戶自控金鑰來加密 DEK,Key Vault 系統管理員會授與伺服器下列存取權限:

描述
get 可在金鑰保存庫中擷取金鑰的公開部分和屬性。
wrapKey 可加密 DEK。 加密的 DEK 會儲存在 Azure Cosmos DB for PostgreSQL。
unwrapKey 可解密 DEK。 Azure Cosmos DB for PostgreSQL 需要解密的 DEK 來加密/解密資料。

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

具有客戶自控金鑰之數據列舉架構的螢幕快照。

福利

Azure Cosmos DB for PostgreSQL 的客戶自控金鑰資料加密可提供下列優點:

  • 您可以移除金鑰且讓資料庫無法存取,完全控制資料存取。
  • 完全控制金鑰生命週期,包括輪替金鑰以配合特定公司原則。
  • 集中管理和組織 Azure Key Vault 中的金鑰。
  • 能夠在資訊安全人員、資料庫管理員和系統管理員之間實作職責區分。
  • 不論使用或不使用客戶自控金鑰啟用加密,都不會造成任何額外的效能效應。 Azure Cosmos DB for PostgreSQL 仰賴 Azure 儲存體,在客戶受控和服務受控金鑰情節中進行資料加密。

下一步