分享方式:


使用客戶管理的金鑰來加密 Azure Data Factory

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

Azure Data Factory 會加密待用資料,包括實體定義,以及在執行期間快取的任何資料。 根據預設,資料會使用隨機產生、由 Microsoft 管理的金鑰進行加密,且該金鑰會唯一指派給您的資料處理站。 若要確保能有更高的安全性,您現在可以啟用「攜帶您自己的金鑰」(BYOK),以便在 Azure Data Factory 中提供客戶自控金鑰功能。 當您指定客戶管理的金鑰時,Data Factory 會同時使用處理站系統金鑰和 CMK 來加密客戶資料。 若缺少金鑰,可能會導致存取資料和處理站時遭到拒絕。

必須要有 Azure Key Vault 才能儲存客戶管理的金鑰。 您可以建立自己的金鑰並將其儲存在金鑰保存庫中,或是使用 Azure Key Vault API 來產生金鑰。 金鑰保存庫和 Data Factory 必須位於相同的 Microsoft Entra 租用戶和相同區域中,但兩者可位於不同的訂用帳戶中。 如需 Azure 金鑰保存庫的詳細資訊,請參閱 什麼是 Azure 金鑰保存庫?

關於客戶管理的金鑰

下圖顯示 Data Factory 如何透過 Microsoft Entra ID 和 Azure Key Vault 使用客戶自控金鑰提出要求:

顯示客戶自控密鑰在 Azure Data Factory 中運作方式的圖表。

下列清單說明圖表中編號的步驟:

  1. Azure Key Vault 管理員為與 Data Factory 相關聯的受控識別授與加密金鑰的權限
  2. Data Factory 管理員在處理站中啟用客戶管理的金鑰功能
  3. Data Factory 使用與處理站相關聯的受控識別,透過 Microsoft Entra ID 驗證對 Azure Key Vault 的存取
  4. Data Factory 在 Azure Key Vault 中包裝處理站加密金鑰與客戶金鑰
  5. 針對讀取/寫入作業,Data Factory 將要求傳送至 Azure Key Vault 以解除包裝帳戶加密金鑰,並執行加密和解密作業

有兩種方式可將客戶自控金鑰加密新增至資料處理站。 其中一個是在 Azure 入口網站建立處理站時新增,另一個方法則是在 Data Factory UI 中建立處理站之後新增。

必要條件 - 設定 Azure Key Vault 並產生金鑰

在 Azure Key Vault 上啟用「虛刪除」和「不要清除」

要將客戶管理的金鑰用於 Data Factory,必須在 Key Vault 上設定兩個屬性:虛刪除不要清除。 這些屬性可以使用 PowerShell 或 Azure CLI 在新的或現有的金鑰保存庫上啟用。 若要了解如何在現有的金鑰保存庫上啟用這些屬性,請參閱具有虛刪除和清除保護的 Azure Key Vault 復原管理

如果您要透過 Azure 入口網站建立新的 Azure Key Vault,可以依照下列方式啟用虛刪除不要清除

顯示如何在建立 金鑰保存庫 時啟用虛刪除和清除保護的螢幕快照。

為 Data Factory 授與對 Azure Key Vault 的存取權

請確定 Azure Key Vault 與 Azure Data Factory 位於相同的 Microsoft Entra 租用戶和相同區域中。 透過 Azure Key Vault 存取控制,授與資料處理站下列權限:取得解除包裝金鑰包裝金鑰。 必須要有這些權限,才能在 Data Factory 中啟用客戶管理的金鑰。

產生客戶管理的金鑰或將其上傳至 Azure Key Vault

您可以建立自己的金鑰並儲存在金鑰保存庫中。 或者,也可以使用 Azure Key Vault API 來產生金鑰。 Data Factory 加密僅支援 RSA 金鑰。 同時也支援 RSA-HSM。 如需詳細資訊,請參閱關於金鑰、祕密與憑證

顯示如何產生客戶管理金鑰的螢幕快照。

啟用客戶管理的金鑰

在 Data Factory UI 中建立處理站後

本節將逐步解說在建立處理站之後,在 Data Factory UI 中新增客戶自訂金鑰加密的流程。

注意

客戶管理的金鑰只能設定於空的資料處理站中。 資料處理站不可包含任何像是連結服務、管線和資料流程的資源。 建議您在建立處理站之後立即啟用客戶管理的金鑰。

重要

此方法不適用於已啟用受控虛擬網路的處理站。 如果您想要加密這類處理站,請考慮替代路由

  1. 請確定資料處理站的受控服務識別 (MSI) 具有 Key Vault 的取得解除包裝金鑰包裝金鑰權限。

  2. 確定 Data Factory 是空的。 資料處理站不可包含連結服務、管線和資料流程之類的資源。 目前,將客戶管理的金鑰部署至非空白的處理站將會導致錯誤。

  3. 若要在 Azure 入口網站中找出金鑰 URI,請瀏覽至 Azure Key Vault,然後選取 [金鑰] 設定。 選取所需的金鑰,然後選取金鑰以檢視其版本。 選取金鑰版本以檢視設定

  4. 複製 [金鑰識別碼] 欄位的值,以提供 URI 從 金鑰保存庫 取得金鑰 URI 的螢幕快照。

  5. 啟動 Azure Data Factory 入口網站,並使用左側的導覽列跳至 Data Factory 管理入口網站

  6. 按一下 [客戶管理的金鑰] 圖示 如何在 Data Factory UI 中啟用客戶管理的密鑰的螢幕快照。

  7. 輸入您先前複製的客戶管理金鑰的 URI

  8. 按一下 [儲存],就會為 Data Factory 啟用客戶自控金鑰加密

在 Azure 入口網站中建立處理站期間

本節將逐步解說在處理站部署期間,如何在 Azure 入口網站中新增客戶自控金鑰加密的步驟。

若要加密處理站,Data Factory 必須先從 Key Vault 擷取客戶自控金鑰。 由於處理站部署仍在進行中,受控服務識別 (MSI) 尚無法向 Key Vault 進行驗證。 因此,若要使用此方法,客戶必須將使用者指派的受控識別 (UA-MI) 指派給資料處理站。 我們將假設 UA-MI 中定義的角色,並向 Key Vault 進行驗證。

若要深入了解使用者指派的受控識別,請參閱受控識別類型使用者指派的受控識別角色指派

  1. 請確定使用者指派的受控識別 (UA-MI) 具有 Key Vault 的取得解除包裝金鑰包裝金鑰權限

  2. 在 [進階] 索引標籤底下,核取 [使用客戶管理的金鑰啟用加密Azure 入口網站 中數據處理站建立體驗的 [進階] 索引卷標螢幕快照。] 方塊

  3. 提供儲存在 Key Vault 中的客戶自控金鑰 URI

  4. 選取適當的使用者指派受控識別,以便向 Key Vault 進行驗證

  5. 繼續進行處理站部署

更新金鑰版本

當您建立新版本的金鑰時,請將資料處理站更新為使用新版本。 遵循 Data Factory UI 一節所述的類似步驟,包括:

  1. 透過 Azure Key Vault 入口網站找出新金鑰版本的 URI

  2. 瀏覽至 [客戶管理的金鑰] 設定

  3. 取代並貼上新金鑰的 URI

  4. 按一下 [儲存],Data Factory 現在將會使用新的金鑰版本進行加密

使用不同的金鑰

若要變更 Data Factory 加密所使用的金鑰,您必須手動更新 Data Factory 中的設定。 遵循 Data Factory UI 一節所述的類似步驟,包括:

  1. 透過 Azure Key Vault 入口網站找出新金鑰的 URI

  2. 瀏覽至 [客戶自控金鑰] 設定

  3. 取代並貼上新金鑰的 URI

  4. 按一下 [儲存],Data Factory 現在將會使用新的金鑰進行加密

停用客戶自控金鑰

根據設計,在啟用客戶管理的金鑰功能後,即無法移除額外的安全性步驟。 我們將預期一律會以客戶提供的金鑰加密處理站和資料。

客戶自控金鑰和持續整合與持續部署

根據預設,CMK 設定不會包含在處理站的 Azure Resource Manager (ARM) 範本中。 若要在 ARM 範本中納入客戶自控金鑰加密設定,以進行持續整合 (CI/CD):

  1. 確定處理站處於 Git 模式
  2. 瀏覽至管理入口網站 - 客戶自控金鑰區段
  3. 檢查 [包括在 ARM 範本中] 選項

在 ARM 範本中包含客戶管理的金鑰設定的螢幕快照。

在 ARM 範本中新增下列設定。 編輯 Azure Resource Manager 參數設定,在持續整合與持續傳遞管線中將這些屬性參數化

在 Azure Resource Manager 樣本中包含客戶管理的金鑰設定的螢幕快照。

注意

將加密設定新增至 ARM 範本會新增處理站層級設定,此設定會在其他環境中覆寫其他處理站層級設定,例如 git 設定。 如果您在提升權限環境中啟用這些設定,例如 UAT 或 PROD,請參閱 CI/CD 中的全域參數

瀏覽教學課程以了解使用 Data Factory 的更多案例。