共用方式為


設定 Azure 受控磁碟的 HSM 客戶自控金鑰

計算平面中的 Azure Databricks 計算工作負載會將暫存資料儲存在 Azure 受控磁碟中。 預設情況下,儲存在受控磁碟中的資料會使用伺服器端加密搭配 Microsoft 受管理金鑰進行待用加密。 本文說明如何為 Azure Databricks 工作區設定 Azure Key Vault HSM 的客戶自控金鑰,以用於受控磁碟加密。 如需有關使用 Azure Key Vault 保存庫金鑰的指示,請參閱設定 Azure 受控磁碟的客戶自控金鑰

重要

  • 受控磁碟儲存體的客戶自控金鑰會套用至資料磁碟,但適用於作業系統 (OS) 磁碟。
  • 受控磁碟儲存體的客戶自控金鑰適用於無伺服器計算資源,例如無伺服器 SQL 倉儲模型服務。 用於無伺服器計算資源的磁碟是短期的,並繫結至無伺服器工作負載的生命週期。 當計算資源停止或縮小時,VM 及其儲存體會終結。

需求

步驟 1:建立 Azure Key Vault 受控 HSM 和 HSM 金鑰

可以使用現有的 Azure Key Vault 受控 HSM,或遵循受控 HSM 文件中的快速入門建立並啟用新的。 請參閱快速入門:使用 Azure CLI 佈建並啟動受控 HSM。 Azure Key Vault 受控 HSM 必須啟用 [清除保護]

若要建立 HSM 金鑰,請遵循建立 HSM 金鑰

步驟 2:停止所有計算資源

在您的工作區中終止所有計算資源 (叢集、集區和 SQL 倉儲)。

步驟 3:建立或更新工作區

您可以使用 Azure 入口網站、Azure CLI 或 Azure Powershell,透過受控磁碟的客戶自控金鑰來建立或更新工作區。

使用 Azure 入口網站

本節說明如何使用 Azure 入口網站,透過受控磁碟的客戶自控金鑰來建立或更新工作區。

  1. 開始建立或更新工作區:

    使用金鑰建立新的工作區:

    1. 轉至 Azure Portal首頁,按一下頁面左上角的 [建立資源]。
    2. 在搜尋列中,輸入 Azure Databricks 並按一下 [Azure Databricks]
    3. 從 Azure Databricks 小工具中選取 [建立]。
    4. 在 [基本資料] 和 [網路] 索引標籤的表單欄位中輸入值。
    5. 在 [加密] 索引標籤中,選取 [受控磁碟] 區段中的 [使用您自己的金鑰] 核取方塊。

    首先將金鑰新增至現有工作區:

    1. 轉至 Azure Databricks 的 Azure 入口網站首頁
    2. 瀏覽至現有 Azure Databricks 工作區。
    3. 從左側面板中開啟 [加密] 索引標籤。
    4. 在 [客戶自控金鑰] 區段下,啟用 [受控磁碟]。
  2. 設定加密欄位。

    • 在 [金鑰識別碼] 欄位中,貼上受控 HSM 金鑰的金鑰識別碼。
    • 在 [訂用帳戶] 下拉式清單中,輸入受控 HSM 金鑰的訂用帳戶名稱。
    • 若要啟用金鑰的自動輪替,請啟用 [啟用金鑰的自動輪替]
  3. 完成其餘索引標籤,然後按一下 [檢閱 + 建立] (適用於新的工作區) 或 [儲存] (適用於更新工作區)。

  4. 工作區部署之後,瀏覽至新的 Azure Databricks 工作區。

  5. 從 Azure Databricks 工作區的 [概觀] 索引標籤中,選取 [受控資源群組]。

  6. 在受控資源群組的 [概觀] 索引標籤中,尋找在此資源群組中建立的磁碟加密集類型的物件。 複製該磁碟加密集的名稱。

使用 Azure CLI

針對新的和更新的工作區,將以下參數新增至您的命令:

  • disk-key-name:受控 HSM 名稱
  • disk-key-vault:受控 HSM URI
  • disk-key-version:受控 HSM 版本。 使用特定的金鑰版本,而不是 latest
  • disk-key-auto-rotation:啟用金鑰的自動輪替 (truefalse)。 這是非必填欄位。 預設值為 false
  1. 建立或更新工作區:

    • 使用這些受控磁碟參數建立工作區的範例:

      az databricks workspace create --name <workspace-name> \
      --resource-group <resource-group-name> \
      --location <location> \
      --sku premium --disk-key-name <hsm-name> \
      --disk-key-vault <hsm-uri> \
      --disk-key-version <hsm-version> \
      --disk-key-auto-rotation <true-or-false>
      
    • 使用這些受控磁碟參數更新工作區的範例:

      az databricks workspace update \
      --name <workspace-name> \
      --resource-group <resource-group-name> \
      --disk-key-name <hsm-name> \
      --disk-key-vault <hsm-uri> \
      --disk-key-version <hsm-version> \
      --disk-key-auto-rotation <true-or-false>
      

    在上述任一命令的輸出中,有一個 managedDiskIdentity 物件。 儲存此物件中 principalId 屬性的值。 這會在後續步驟中用作主體 ID。

使用 PowerShell

針對新的和更新的工作區,將以下參數新增至您的命令:

  • location:工作區位置
  • ManagedDiskKeyVaultPropertiesKeyName:受控 HSM 名稱
  • ManagedDiskKeyVaultPropertiesKeyVaultUri:受控 HSM URI
  • ManagedDiskKeyVaultPropertiesKeyVersion:受控 HSM 版本。 使用特定的金鑰版本,而不是 latest
  • ManagedDiskRotationToLatestKeyVersionEnabled:啟用金鑰的自動輪替 (truefalse)。 這是非必填欄位。 預設值為 false。
  1. 建立或更新工作區:
    • 使用受控磁碟參數建立工作區的範例:

      $workspace = New-AzDatabricksWorkspace -Name <workspace-name> \
      -ResourceGroupName <resource-group-name> \
      -location <location> \
      -Sku premium \
      -ManagedDiskKeyVaultPropertiesKeyName <key-name> \
      -ManagedDiskKeyVaultPropertiesKeyVaultUri <hsm-uri> \
      -ManagedDiskKeyVaultPropertiesKeyVersion <key-version> -ManagedDiskRotationToLatestKeyVersionEnabled
      
    • 使用受控磁碟參數更新工作區的範例:

      $workspace = Update-AzDatabricksworkspace -Name <workspace-name> \
      -ResourceGroupName <resource-group-name> \
      -ManagedDiskKeyVaultPropertiesKeyName <key-name> \
      -ManagedDiskKeyVaultPropertiesKeyVaultUri <hsm-uri> \
      -ManagedDiskKeyVaultPropertiesKeyVersion <key-version> -ManagedDiskRotationToLatestKeyVersionEnabled
      

步驟 4:設定受控 HSM 角色指派

設定金鑰保存庫受控 HSM 的角色指派,讓您的 Azure Databricks 工作區擁有存取它的權限。 可以使用 Azure 入口網站、Azure CLI 或 PowerShell 來設定角色指派。

使用 Azure 入口網站

  1. 轉至 Azure 入口網站中的受控 HSM 資源。
  2. 在左側功能表中,選取 [設定] 下方的 [本機 RBAC]
  3. 按一下新增
  4. 在 [角色] 欄位中,選取 [受控 HSM 加密服務加密使用者]。
  5. 在 [範圍] 欄位中,選擇 All keys (/)
  6. 在 [安全性主體] 欄位中,在搜尋列中輸入 Azure Databricks 工作區的受控資源群組內的磁碟加密集名稱。 選取結果。
  7. 按一下 [建立]。

使用 Azure CLI

設定受控 HSM 角色指派。 將 <hsm-name> 取代為受控 HSM 名稱,將 <principal-id> 取代為上一個步驟中 managedDiskIdentity 的 principalId 識別碼。

az keyvault role assignment create --role "Managed HSM Crypto Service Encryption User"
    --scope "/" --hsm-name <hsm-name>
    --assignee-object-id <principal-id>

使用 Azure PowerShell

<hsm-name> 取代為受控 HSM 名稱。

New-AzKeyVaultRoleAssignment -HsmName <hsm-name> \
-RoleDefinitionName "Managed HSM Crypto Service Encryption User" \
-ObjectId $workspace.ManagedDiskIdentityPrincipalId

步驟 5:啟動先前終止的計算資源

  1. 確定工作區更新已完成。 如果金鑰是範本的唯一變更,這通常會在不到五分鐘內完成,否則可能需要更多時間。
  2. 手動啟動您稍早終止的任何計算資源。

如果有任何計算資源無法成功啟動,通常是因為您需要授與磁碟加密集權限,才能存取金鑰保存庫。

在稍後的時間輪替金鑰

在已經有一個金鑰的現有工作區中,有兩種類型的金鑰輪替:

  • 自動輪替:如果對於您的工作區而言,rotationToLatestKeyVersionEnabledtrue,則磁碟加密集會偵測金鑰版本變更,並指向最新的金鑰版本。
  • 手動輪替:您可以使用新的金鑰來更新現有的受控磁碟客戶自控金鑰工作區。 請遵循上述指示,如同您最初將金鑰新增至現有工作區一樣。