Konfigurera kundhanterade nycklar för DBFS med Azure CLI
Du kan använda Azure CLI för att konfigurera din egen krypteringsnyckel för att kryptera lagringskontot för arbetsytan. Den här artikeln beskriver hur du konfigurerar din egen nyckel från Azure Key Vault-valv. Anvisningar om hur du använder en nyckel från Azure Key Vault Managed HSM finns i Konfigurera kundhanterade HSM-nycklar för DBFS med Hjälp av Azure CLI.
Mer information om kundhanterade nycklar för DBFS finns i Kundhanterade nycklar för DBFS-rot.
Installera Azure Databricks CLI-tillägget
Installera Azure Databricks CLI-tillägget.
az extension add --name databricks
Förbereda en ny eller befintlig Azure Databricks-arbetsyta för kryptering
Ersätt platshållaren values inom hakparenteser med din egen values.
<workspace-name>
är resursnamnet som visas i Azure Portal.
az login
az account set --subscription <subscription-id>
Förbered för kryptering när arbetsytan skapas:
az databricks workspace create --name <workspace-name> --location <workspace-location> --resource-group <resource-group> --sku premium --prepare-encryption
Förbereda en befintlig arbetsyta för kryptering:
az databricks workspace update --name <workspace-name> --resource-group <resource-group> --prepare-encryption
Observera fältet principalId
i storageAccountIdentity
avsnittet i kommandoutdata. Du anger det som det hanterade identitetsvärdet när du konfigurerar ditt Key Vault.
Mer information om Azure CLI-kommandon för Azure Databricks-arbetsytor finns i kommandoreferensen az databricks workspace.
Skapa ett nytt nyckelvalv
Nyckelvalvet som du använder för att lagra kundhanterade nycklar för DBFS-roten måste ha två inställningar för nyckelskydd aktiverat, Mjuk borttagning och rensningsskydd. Kör följande kommandon för att skapa ett nytt Key Vault med de här inställningarna aktiverade.
Viktigt!
Key Vault måste finnas i samma Azure-klientorganisation som din Azure Databricks-arbetsyta.
Ersätt platshållaren values inom hakparenteser med din egen values.
az keyvault create \
--name <key-vault> \
--resource-group <resource-group> \
--location <region> \
--enable-soft-delete \
--enable-purge-protection
Mer information om hur du aktiverar skydd mot mjuk borttagning och rensning med hjälp av Azure CLI finns i Så här använder du mjuk borttagning av Key Vault med CLI.
Konfigurera åtkomstprincipen för Key Vault
Set åtkomstprincipen för Key Vault så att Azure Databricks-arbetsytan har behörighet att komma åt den med hjälp av kommandot az keyvault set-policy.
Ersätt platshållaren values inom hakparenteser med din egen values.
az keyvault set-policy \
--name <key-vault> \
--resource-group <resource-group> \
--object-id <managed-identity> \
--key-permissions get unwrapKey wrapKey
Ersätt <managed-identity>
med det principalId
värde som du antecknade när du förberedde din arbetsyta för kryptering.
Skapa en ny nyckel
Skapa en nyckel i Key Vault med kommandot az keyvault key create .
Ersätt platshållaren values inom hakparenteser med din egen values.
az keyvault key create \
--name <key> \
--vault-name <key-vault>
DBFS-rotlagring stöder RSA- och RSA-HSM-nycklar i storlekarna 2048, 3072 och 4096. Mer information om nycklar finns i Om nyckelvalvsnycklar.
Konfigurera DBFS-kryptering med kundhanterade nycklar
Konfigurera din Azure Databricks-arbetsyta så att den använder nyckeln som du skapade i Azure Key Vault.
Ersätt platshållaren values inom hakparenteser med din egen values.
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
Inaktivera kundhanterade nycklar
När du inaktiverar kundhanterade nycklar krypteras ditt lagringskonto återigen med Microsoft-hanterade nycklar.
Ersätt platshållaren values inom hakparenteser med dina egna values och använd variablerna som definierades i föregående steg.
az databricks workspace update --name <workspace-name> --resource-group <resource-group> --key-source Default