使用 PowerShell 为 DBFS 配置 HSM 客户管理的密钥

注意

此功能仅在高级计划中提供。

可以使用 PowerShell 配置自己的加密密钥以加密工作区存储帐户。 本文介绍如何从 Azure Key Vault 托管 HSM 配置自己的密钥。 有关使用 Azure Key Vault 保管库中的密钥的说明,请参阅使用 PowerShell 为 DBFS 配置客户管理的密钥

重要

Key Vault 必须与你的 Azure Databricks 工作区位于同一 Azure 租户中。

要详细了解用于 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 参考

创建 Azure Key Vault 托管 HSM 和 HSM 密钥

可以使用现有的 Azure Key Vault 托管 HSM,也可以按照快速入门:使用 PowerShell 预配和激活托管 HSM 中的说明创建并激活新的 HSM。 Azure Key Vault 托管 HSM 必须启用“清除保护”。

要创建 HSM 密钥,请按照创建 HSM 密钥中的说明进行操作。

配置托管 HSM 角色分配

请为密钥保管库托管 HSM 配置角色分配,以便 Azure Databricks 工作区有权访问它。 请将括号中的占位符值替换为你自己的值。

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

使用客户管理的密钥配置 DBFS 加密

将 Azure Databricks 工作区配置为使用在 Azure Key Vault 中创建的密钥。 请将括号中的占位符值替换为你自己的值。

Update-AzDatabricksWorkspace -ResourceGroupName <resource-group> `
    -Name <workspace-name>
    -EncryptionKeySource Microsoft.Keyvault `
    -EncryptionKeyName <key-name> `
    -EncryptionKeyVersion <key-version> `
    -EncryptionKeyVaultUri <hsm-uri>

禁用客户托管密钥

在你禁用客户管理的密钥时,会再次使用 Azure 管理的密钥来加密你的存储帐户。

请将括号中的占位符值替换为你自己的值,并使用在前面步骤中定义的变量。

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