Share via


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

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

重要

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

需求

步驟 1:建立 Azure 金鑰保存庫 受控 HSM 和 HSM 密鑰

您可以使用現有的 Azure 金鑰保存庫 受控 HSM,或在受控 HSM 檔中的快速入門之後建立並啟動新的 Azure。 請參閱 快速入門:使用 Azure CLI 布建和啟用受控 HSM。 Azure 金鑰保存庫 受控 HSM 必須啟用清除保護

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

步驟 2:如果您要更新工作區以一開始新增金鑰,請停止所有計算資源

如果您一開始在現有的工作區上新增受控磁碟的客戶自控密鑰,請在更新之前停止所有計算資源(叢集、集區、傳統或 Pro SQL 倉儲)。

更新完成之後,您可以 啟動已停止的計算資源。 對於已經有受控磁碟客戶管理密鑰的工作區,您可以 輪替 密鑰,而不需要終止計算資源。

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

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

使用 Azure 入口網站

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

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

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

    1. 移至 Azure 入口網站首頁 ,然後按下 頁面左上角的 [建立資源 ]。
    2. 在搜尋列中,輸入 Azure Databricks 並按兩下 [Azure Databricks]。
    3. 從 Azure Databricks 小工具中選取 [建立 ]。
    4. 在索引標籤 [基本][網络] 的表單字段中輸入值。
    5. 在 [加密] 索引標籤中,選取 [受控磁碟 區段中的 [使用您自己的金鑰] 複選框。

    開始將金鑰新增至現有的工作區:

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

    在 [Azure Databricks] 刀鋒視窗的 [受控磁碟] 區段中顯示字段

    • 在 [ 金鑰標識碼 ] 字段中,貼上受控 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 版本
  • 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 這個物件內的屬性值。 這會在後續步驟中當做主體標識碼使用。

使用 Powershell

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

  • location:工作區位置
  • ManagedDiskKeyVaultPropertiesKeyName:受控 HSM 名稱
  • ManagedDiskKeyVaultPropertiesKeyVaultUri:受控 HSM URI
  • ManagedDiskKeyVaultPropertiesKeyVersion:受控 HSM 版本
  • 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 名稱取代 <hsm-name> ,並以上一個步驟中的 managedDiskIdentity principalId 識別碼取代 <principal-id>

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工作區,磁碟加密集會偵測密鑰版本變更,並指向最新的密鑰版本。
  • 手動輪替:您可以使用新的金鑰來更新現有的受控磁碟客戶自控密鑰工作區。 請遵循上述指示,如同您一開始將密鑰新增至現有工作區,而您不需要終止任何執行中的計算資源的重要差異。

針對這兩種輪替類型,Azure 虛擬機記憶體服務會自動挑選新的密鑰,並用它來加密數據加密密鑰。 您的 Azure Databricks 計算資源不會受到影響。 如需詳細資訊,請參閱 Azure 檔中的客戶管理金鑰

輪替金鑰之前,您不需要終止計算資源。