使用 PowerShell 為 DBFS 設定客戶管理的金鑰
注意
此功能僅適用於 進階方案。
您可以使用 PowerShell 來設定自己的加密金鑰來加密工作區記憶體帳戶。 本文說明如何從 Azure 金鑰保存庫 儲存庫設定您自己的金鑰。 如需從 Azure 金鑰保存庫 受控 HSM 使用金鑰的指示,請參閱使用 PowerShell 設定 DBFS 的 HSM 客戶自控密鑰。
如需 DBFS 客戶自控密鑰的詳細資訊,請參閱 DBFS 根目錄的客戶自控密鑰。
安裝 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