設定 Azure 受控磁碟的 HSM 客戶自控金鑰
計算平面中的 Azure Databricks 計算工作負載會將暫存資料儲存在 Azure 受控磁碟中。 預設情況下,儲存在受控磁碟中的資料會使用伺服器端加密搭配 Microsoft 受管理金鑰進行待用加密。 本文說明如何為 Azure Databricks 工作區設定 Azure Key Vault HSM 的客戶自控金鑰,以用於受控磁碟加密。 如需有關使用 Azure Key Vault 保存庫金鑰的指示,請參閱設定 Azure 受控磁碟的客戶自控金鑰。
重要
- 受控磁碟儲存體的客戶自控金鑰會套用至資料磁碟,但不適用於作業系統 (OS) 磁碟。
- 受控磁碟儲存體的客戶自控金鑰不適用於無伺服器計算資源,例如無伺服器 SQL 倉儲和模型服務。 用於無伺服器計算資源的磁碟是短期的,並繫結至無伺服器工作負載的生命週期。 當計算資源停止或縮小時,VM 及其儲存體會終結。
需求
您的 Azure Databricks 工作區必須在進階方案中。
如果您想要啟用自動輪替,僅支援大小為 2048 位元、3072 位元和 4096 位元的 RSA-HSM 金鑰。
符合 FedRAMP 規範的工作區不支援此功能。 如需詳細資訊,請連絡 Azure Databricks 帳戶團隊。
若要使用 Azure CLI 執行這些任務,請安裝 Azure CLI 工具並安裝 Databricks 延伸項目:
az extension add --name databricks
若要使用 Powershell 執行這些任務,請安裝 Azure PowerShell 並安裝 Databricks Powershell 模組。 您也必須登入:
Connect-AzAccount
若要以使用者身分登入 Azure 帳戶,請參閱使用 Azure Databricks 使用者帳戶登入 PowerShell。 若要以服務主體身分登入 Azure 帳戶,請參閱使用 Microsoft Entra ID 服務主體身分登入 PowerShell。
步驟 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 入口網站,透過受控磁碟的客戶自控金鑰來建立或更新工作區。
開始建立或更新工作區:
使用金鑰建立新的工作區:
- 轉至 Azure Portal首頁,按一下頁面左上角的 [建立資源]。
- 在搜尋列中,輸入
Azure Databricks
並按一下 [Azure Databricks]。 - 從 Azure Databricks 小工具中選取 [建立]。
- 在 [基本資料] 和 [網路] 索引標籤的表單欄位中輸入值。
- 在 [加密] 索引標籤中,選取 [受控磁碟] 區段中的 [使用您自己的金鑰] 核取方塊。
首先將金鑰新增至現有工作區:
- 轉至 Azure Databricks 的 Azure 入口網站首頁。
- 瀏覽至現有 Azure Databricks 工作區。
- 從左側面板中開啟 [加密] 索引標籤。
- 在 [客戶自控金鑰] 區段下,啟用 [受控磁碟]。
設定加密欄位。
- 在 [金鑰識別碼] 欄位中,貼上受控 HSM 金鑰的金鑰識別碼。
- 在 [訂用帳戶] 下拉式清單中,輸入受控 HSM 金鑰的訂用帳戶名稱。
- 若要啟用金鑰的自動輪替,請啟用 [啟用金鑰的自動輪替]。
完成其餘索引標籤,然後按一下 [檢閱 + 建立] (適用於新的工作區) 或 [儲存] (適用於更新工作區)。
工作區部署之後,瀏覽至新的 Azure Databricks 工作區。
從 Azure Databricks 工作區的 [概觀] 索引標籤中,選取 [受控資源群組]。
在受控資源群組的 [概觀] 索引標籤中,尋找在此資源群組中建立的磁碟加密集類型的物件。 複製該磁碟加密集的名稱。
使用 Azure CLI
針對新的和更新的工作區,將以下參數新增至您的命令:
-
disk-key-name
:受控 HSM 名稱 -
disk-key-vault
:受控 HSM URI -
disk-key-version
:受控 HSM 版本。 使用特定的金鑰版本,而不是latest
。 -
disk-key-auto-rotation
:啟用金鑰的自動輪替 (true
或false
)。 這是非必填欄位。 預設值為false
。
建立或更新工作區:
使用這些受控磁碟參數建立工作區的範例:
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
:啟用金鑰的自動輪替 (true
或false
)。 這是非必填欄位。 預設值為 false。
- 建立或更新工作區:
使用受控磁碟參數建立工作區的範例:
$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 入口網站
- 轉至 Azure 入口網站中的受控 HSM 資源。
- 在左側功能表中,選取 [設定] 下方的 [本機 RBAC]。
- 按一下新增。
- 在 [角色] 欄位中,選取 [受控 HSM 加密服務加密使用者]。
- 在 [範圍] 欄位中,選擇 。
All keys (/)
- 在 [安全性主體] 欄位中,在搜尋列中輸入 Azure Databricks 工作區的受控資源群組內的磁碟加密集名稱。 選取結果。
- 按一下 [建立]。
使用 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:啟動先前終止的計算資源
- 確定工作區更新已完成。 如果金鑰是範本的唯一變更,這通常會在不到五分鐘內完成,否則可能需要更多時間。
- 手動啟動您稍早終止的任何計算資源。
如果有任何計算資源無法成功啟動,通常是因為您需要授與磁碟加密集權限,才能存取金鑰保存庫。
在稍後的時間輪替金鑰
在已經有一個金鑰的現有工作區中,有兩種類型的金鑰輪替:
- 自動輪替:如果對於您的工作區而言,
rotationToLatestKeyVersionEnabled
為true
,則磁碟加密集會偵測金鑰版本變更,並指向最新的金鑰版本。 - 手動輪替:您可以使用新的金鑰來更新現有的受控磁碟客戶自控金鑰工作區。 請遵循上述指示,如同您最初將金鑰新增至現有工作區一樣。