Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
注意
此功能仅在 高级计划中可用。
可以使用 Azure CLI 来配置自己的加密密钥以加密工作区存储帐户。 本文介绍如何通过 Azure Key Vault 保管库配置你自己的密钥。 有关使用 Azure Key Vault 托管 HSM 中的密钥的说明,请参阅 使用 Azure CLI 为 DBFS 配置 HSM 客户管理的密钥。
有关 DBFS 的客户管理的密钥的详细信息,请参阅 DBFS 根的客户管理的密钥。
安装 Azure Databricks CLI 扩展
安装 Azure Databricks CLI 扩展。
az extension add --name databricks
准备新的或现有的用于加密的 Azure Databricks 工作区
请将括号中的占位符值替换为你自己的值。
<workspace-name> 是 Azure 门户中显示的资源名称。
az cloud set -n AzureChinaCloud
az login
# az cloud set -n AzureCloud //means return to Public Azure.
az account set --subscription <subscription-id>
为创建工作区期间的加密做准备:
az databricks workspace create --name <workspace-name> --location <workspace-location> --resource-group <resource-group> --sku premium --prepare-encryption
准备用于加密的现有工作区:
az databricks workspace update --name <workspace-name> --resource-group <resource-group> --prepare-encryption
记下命令输出的 principalId 部分中的 storageAccountIdentity 字段。 配置 Key Vault 时,需将其作为托管标识值提供。
有关 Azure Databricks 工作区的 Azure CLI 命令的详细信息,请参阅 az databricks workspace 命令参考。
创建新的密钥保管库
使用 Key Vault 为 DBFS 根存储客户管理的密钥时,Key Vault 必须已启用两项密钥保护设置:“软删除”和“清除保护”。 若要新建启用了这些设置的 Key Vault,请运行以下命令。
重要
Key Vault 必须与你的 Azure Databricks 工作区位于同一 Azure 租户中。
请将括号中的占位符值替换为你自己的值。
az keyvault create \
--name <key-vault> \
--resource-group <resource-group> \
--location <region> \
--enable-soft-delete \
--enable-purge-protection
有关使用 Azure CLI 启用软删除和清除保护的详细信息,请参阅 如何将 Key Vault 软删除与 CLI 配合使用。
授予工作区存储帐户对密钥保管库的访问权限
向密钥保管库上的工作区存储帐户标识授予密钥保管库加密服务加密用户角色:
az keyvault role assignment create \
--role "Key Vault Crypto Service Encryption User" \
--assignee <workspace-storage-account-identity-principal-id>
注意
如果密钥保管库使用访问策略而不是 RBAC,请使用以下命令:
az keyvault set-policy \
--name <key-vault> \
--resource-group <resource-group> \
--object-id <workspace-storage-account-identity-principal-id> \
--key-permissions get unwrapKey wrapKey
新建密钥
使用 az keyvault key create 命令在 Key Vault 中创建密钥。
请将括号中的占位符值替换为你自己的值。
az keyvault key create \
--name <key> \
--vault-name <key-vault>
DBFS 根存储支持 2048、3072 和 4096 大小的 RSA 和 RSA-HSM 密钥。 有关密钥的详细信息,请参阅 关于 Key Vault 密钥。
使用客户管理的密钥配置 DBFS 加密
将 Azure Databricks 工作区配置为使用在 Azure Key Vault 中创建的密钥。
请将括号中的占位符值替换为你自己的值。
key_vault_uri=$(az keyvault show \
--name <key-vault> \
--resource-group <resource-group> \
--query properties.vaultUri \
--output tsv)
key_version=$(az keyvault key list-versions \
--name <key> \ --vault-name <key-vault> \
--query [-1].kid \
--output tsv | cut -d '/' -f 6)
az databricks workspace update --name <workspace-name> --resource-group <resource-group> --key-source Microsoft.KeyVault --key-name <key> --key-vault $key_vault_uri --key-version $key_version
禁用客户托管密钥
在你禁用客户管理的密钥时,会再次使用 Azure 管理的密钥来加密你的存储帐户。
请将括号中的占位符值替换为你自己的值,并使用在前面步骤中定义的变量。
az databricks workspace update --name <workspace-name> --resource-group <resource-group> --key-source Default