共用方式為


使用 PowerShell 為 DBFS 設定客戶管理的金鑰

注意

此功能僅適用於 進階方案

您可以使用 PowerShell 來設定自己的加密金鑰來加密工作區記憶體帳戶。 本文說明如何從 Azure 金鑰保存庫 儲存庫設定您自己的金鑰。 如需從 Azure 金鑰保存庫 受控 HSM 使用金鑰的指示,請參閱使用 PowerShell 設定 DBFS 的 HSM 客戶自控密鑰。

如需 DBFS 客戶自控密鑰的詳細資訊,請參閱 DBFS 根目錄的客戶自控密鑰。

安裝 Azure Databricks PowerShell 模組

  1. 安裝 Azure PowerShell
  2. 安裝 Azure Databricks PowerShell 模組

準備新的或現有的 Azure Databricks 工作區以進行加密

將括弧中的預留位置值取代為您自己的值。 <workspace-name>是資源名稱,如 Azure 入口網站 所示。

建立工作區時準備加密:

$workSpace = New-AzDatabricksWorkspace -Name <workspace-name> -Location <workspace-location> -ResourceGroupName <resource-group> -Sku premium -PrepareEncryption

準備現有的工作區以進行加密:

$workSpace = Update-AzDatabricksWorkspace -Name <workspace-name> -ResourceGroupName <resource-group> -PrepareEncryption

如需 Azure Databricks 工作區的 PowerShell Cmdlet 詳細資訊,請參閱 Az.Databricks 參考

建立新的金鑰保存庫

您用來儲存預設 DBFS 客戶自控金鑰的 Azure 金鑰保存庫 必須啟用兩個金鑰保護設定:虛刪除清除保護

重要

Key Vault 與 Azure Databricks 工作區必須位於相同的 Azure 租用戶中。

在模組的 2.0.0 版和更新版本中Az.KeyVault,當您建立新的 金鑰保存庫 時,預設會啟用虛刪除。

下列範例會建立已啟用虛刪除和清除保護屬性的新 金鑰保存庫。 將括弧中的預留位置值取代為您自己的值。

$keyVault = New-AzKeyVault -Name <key-vault> `
     -ResourceGroupName <resource-group> `
     -Location <location> `
     -EnablePurgeProtection

若要瞭解如何使用 PowerShell 在現有的 金鑰保存庫 上啟用虛刪除和清除保護,請參閱如何搭配 PowerShell 使用 金鑰保存庫 虛刪除中的和

設定 金鑰保存庫 存取原則

設定 金鑰保存庫 的存取原則,讓 Azure Databricks 工作區有權使用 Set-AzKeyVaultAccessPolicy 來存取它。

Set-AzKeyVaultAccessPolicy `
      -VaultName $keyVault.VaultName `
      -ObjectId $workspace.StorageAccountIdentity.PrincipalId `
      -PermissionsToKeys wrapkey,unwrapkey,get

建立新的金鑰

使用 Add-AzKeyVaultKey Cmdlet 在 金鑰保存庫 中建立新的密鑰。 將括弧中的預留位置值取代為您自己的值。

$key = Add-AzKeyVaultKey -VaultName $keyVault.VaultName -Name <key> -Destination 'Software'

DBFS 根記憶體支援大小為 2048、3072 和 4096 的 RSA 和 RSA-HSM 金鑰。 如需金鑰的相關詳細資訊,請參閱關於金鑰保存庫金鑰

使用客戶管理的金鑰設定 DBFS 加密

設定您的 Azure Databricks 工作區,以使用您在 Azure 金鑰保存庫 中建立的密鑰。 將括弧中的預留位置值取代為您自己的值。

Update-AzDatabricksWorkspace -ResourceGroupName <resource-group> `
      -Name <workspace-name>
     -EncryptionKeySource Microsoft.Keyvault `
     -EncryptionKeyName $key.Name `
     -EncryptionKeyVersion $key.Version `
     -EncryptionKeyVaultUri $keyVault.VaultUri

停用客戶自控金鑰

當您停用客戶管理的密鑰時,記憶體帳戶會再次使用Microsoft管理的密鑰加密。

以您自己的值取代括弧中的佔位元值,並使用先前步驟中定義的變數。

Update-AzDatabricksWorkspace -Name <workspace-name> -ResourceGroupName <resource-group> -EncryptionKeySource Default