Configurare chiavi gestite dal cliente per dischi gestiti di Azure
I carichi di lavoro di calcolo di Azure Databricks nel piano di calcolo archiviano i dati temporanei nei dischi gestiti di Azure. Per impostazione predefinita, i dati archiviati nei dischi gestiti vengono crittografati inattivi usando la crittografia lato server con chiavi gestite da Microsoft. Questo articolo descrive come configurare una chiave gestita dal cliente dagli insiemi di credenziali di Azure Key Vault per l'area di lavoro di Azure Databricks, da usare per la crittografia del disco gestito. Per istruzioni sull'uso di una chiave dal modulo di protezione hardware di Azure Key Vault, si veda Configurare le chiavi gestite dal cliente del modulo di protezione hardware per i dischi gestiti in Azure.
Importante
- Le chiavi gestite dal cliente per l'archiviazione su disco gestito si applicano ai dischi dati, ma non si applicano ai dischi del sistema operativo.
- Le chiavi gestite dal cliente per l'archiviazione su disco gestito non si applicano alle risorse di calcolo serverless, come i warehouse SQL serverless e la gestione dei modelli. I dischi usati per le risorse di calcolo serverless sono di breve durata e legati al ciclo di vita del carico di lavoro serverless. Quando le risorse di calcolo vengono arrestate o ridimensionate, le VM e le relative risorse di archiviazione vengono eliminate definitivamente.
Requisiti
Per l'area di lavoro di Azure Databricks deve essere stato selezionato il piano Premium.
L'area di lavoro di Azure Databricks e Azure Key Vault devono trovarsi nella stessa area e nello stesso tenant di Microsoft Entra ID. Possono trovarsi in sottoscrizioni diverse.
Se si desidera abilitare la rotazione automatica, sono supportate solo chiavi software e RSA HSM di dimensioni a 2048 bit, 3072 bit e 4096 bit.
Questa funzionalità non è supportata per le aree di lavoro con conformità FedRAMP. Per maggiori informazioni, contattare il team dell'account di Azure Databricks.
Per usare l'interfaccia della riga di comando di Azure per queste attività, installare lo strumento dell'interfaccia della riga di comando di Azure e installare l'estensione Databricks:
az extension add --name databricks
Per usare PowerShell per queste attività, installare Azure PowerShell e installare il modulo Databricks PowerShell. È anche necessario eseguire l'accesso:
Connect-AzAccount
Per accedere all'account Azure come utente, si veda Accesso a PowerShell con un account utente di Azure Databricks. Per accedere all'account Azure come entità servizio, si veda Accesso a PowerShell con un'entità servizio Microsoft Entra ID.
Passaggio 1: Creare un insieme di credenziali delle chiavi
È possibile creare un insieme di credenziali delle chiavi in molti modi, tra cui utilizzando portale di Azure, l’interfaccia della riga di comando di Azure, PowerShell e opzionalmente usando i modelli di ARM. Le seguenti sezioni forniscono istruzioni per l’utilizzo dell’interfaccia della riga di comando di Azure o Powershell. Per altri approcci, si veda documentazione Microsoft.
Utilizzare l'interfaccia della riga di comando di Azure
Creare un insieme di credenziali delle chiavi:
az keyvault create --name <keyVaultName> --resource-group <resourceGroupName> --location <location> --sku <sku> --enable-purge-protection
Ottenere l'URI dell'insieme di credenziali:
az keyvault show --name <key-vault-name>
Copiare il valore
vaultUri
della risposta.
Usare PowerShell
Creare un nuovo insieme di credenziali:
$keyVault = New-AzKeyVault -Name <key-vault-name> -ResourceGroupName <resource-group-name> -Location <location> -Sku <sku> -EnablePurgeProtection
Accedere a un insieme di credenziali delle chiavi esistente:
$keyVault = Get-AzKeyVault -VaultName <key-vault-name>
Passaggio 2: Preparare una chiave
È possibile creare una chiave o recuperare una chiave esistente archiviata in Azure Key Vault usando portale di Azure, l'interfaccia della riga di comando di Azure, PowerShell e opzionalmente usando i modelli di ARM. Questa sezione illustra le procedure per l'interfaccia della riga di comando di Azure e PowerShell. Per altri modi, si veda la documentazione sulle chiavi di Azure.
Utilizzare l'interfaccia della riga di comando di Azure
È possibile creare una nuova chiave o recuperarne una esistente:
Creare una chiave:
Esegui questo comando:
az keyvault key create \ --name <key-name> \ --vault-name <key-vault-name> \ --protection software
Prendere nota dei seguenti valori dell'output:
- Nome dell'insieme di credenziali delle chiavi: il nome dell'insieme di credenziali delle chiavi.
- Nome chiave: il nome della chiave
- Versione chiave: versione della chiave
- Gruppo di risorse dell'insieme di credenziali delle chiavi: gruppo di risorse dell'insieme di credenziali delle chiavi
Ottenere informazioni sulla chiave:
az keyvault key show --vault-name <keyVaultName> --name <keyName>
Copiare il valore del campo
kid
, ovvero l'ID chiave.L'ID chiave completo ha in genere il formato
https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>
. Le chiavi di Azure Key Vault che si trovano in un cloud non pubblico hanno un formato diverso.
Recuperare una chiave esistente:
Esegui questo comando:
az keyvault key show --name <key-name> --vault-name <key-vault-name>
Prendere nota dei seguenti dettagli per la chiave esistente:
- Nome dell'insieme di credenziali delle chiavi: il nome dell'insieme di credenziali delle chiavi.
- Nome chiave: il nome della chiave.
- Versione chiave: versione della chiave.
- Gruppo di risorse dell'insieme di credenziali delle chiavi: gruppo di risorse dell'insieme di credenziali delle chiavi.
Ottenere informazioni sulla chiave:
az keyvault key show --vault-name <keyVaultName> --name <keyName>
Copiare il valore del campo
kid
, ovvero l'ID chiave.L'ID chiave completo ha in genere il formato
https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>
. Le chiavi di Azure Key Vault che si trovano in un cloud non pubblico hanno un formato diverso.Verificare che la chiave esistente sia abilitata prima di procedere eseguendo
az keyvault key show --name <key name>
di nuovo. L'output visualizza"enabled": true
.
Usare PowerShell
Se si intende creare una chiave, potrebbe essere necessario impostare criteri di accesso, a seconda di come e quando è stata creata. Ad esempio, se di recente è stato creato l'insieme di credenziali delle chiavi con PowerShell, il nuovo insieme di credenziali delle chiavi potrebbe non avere i criteri di accesso necessari per creare una chiave. Nell'esempio seguente viene usato il parametro
EmailAddress
per impostare i criteri. Per informazioni dettagliate, si veda l'articolo di Microsoft su Set-AzKeyVaultAccessPolicy.Impostare un criterio di accesso per un nuovo insieme di credenziali delle chiavi.
Set-AzKeyVaultAccessPolicy \ -VaultName $keyVault.VaultName \ -PermissionsToKeys all \ -EmailAddress <email-address>
È possibile creare una nuova chiave o recuperarne una esistente:
Creare una chiave:
$key = Add-AzKeyVaultKey \ -VaultName $keyVault.VaultName \ -Name <key-name> \ -Destination 'Software'
Recuperare una chiave esistente:
$key = Get-AzKeyVaultKey \ -VaultName $keyVault.VaultName \ -Name <key-name>
Passaggio 3: Arrestare tutte le risorse di calcolo
Terminare tutte le risorse di calcolo (cluster, pool e warehouse SQL) dell'area di lavoro.
Passaggio 4: Creare o aggiornare un'area di lavoro
Per creare o aggiornare un'area di lavoro con una chiave gestita dal cliente per i dischi gestiti, scegliere una delle seguenti strategie di distribuzione:
- Usare il portale di Azure (nessun modello)
- Usare l'interfaccia della riga di comando di Azure (nessun modello)
- Usare PowerShell (nessun modello)
- Usare un modello ARM (portale di Azure o interfaccia della riga di comando)
Usare il portale di Azure (nessun modello)
Questa sezione descrive come usare il portale di Azure per creare o aggiornare un'area di lavoro con chiavi gestite dal cliente per i dischi gestiti senza usare modelli.
Iniziare creando o aggiornando un'area di lavoro:
Creare una nuova area di lavoro con una chiave:
- Andare alla home page del portale di Azure and fare clic sull'opzione Crea una risorsa in alto a sinistra.
- Nella barra di ricerca digitare
Azure Databricks
e fare clic su Azure Databricks. - Selezionare Crea dall'interno del widget Azure Databricks.
- Immettere i valori nei campi modulo delle schede Informazioni di base e Rete.
- Nella scheda Crittografia selezionare la casella di controllo Usa chiave propria nella sezione Dischi gestiti.
Aggiungere una chiave a un'area di lavoro esistente:
- Passare alla home page del portale di Azure per Azure Databricks.
- Passare all'area di lavoro esistente di Azure Databricks.
- Aprire la scheda Crittografia nel riquadro a sinistra.
- Nella sezione Chiavi gestite dal cliente abilitare Dischi gestiti.
Impostare i campi di crittografia.
- Nel campo Identificatore chiave incollare l'identificatore della chiave di Azure Key Vault.
- Nell'elenco a discesa Sottoscrizione immettere il nome della sottoscrizione della chiave di Azure Key Vault.
- Per abilitare la rotazione automatica della chiave, attivare l’opzione Abilita rotazione automatica della chiave.
Compilare le schede rimanenti e fare clic su Rivedi + crea (per una nuova area di lavoro) oppure su Salva (per aggiornare un'area di lavoro esistente).
Una volta implementata l'area di lavoro, passare alla nuova area di lavoro di Azure Databricks.
Nella scheda Panoramica dell'area di lavoro di Azure Databricks fare clic su Gruppo di risorse gestite.
Nella scheda Panoramica del gruppo di risorse gestite cercare l'oggetto di tipo Set di crittografia dischi creato nel gruppo di risorse. Copiare il nome del set di crittografia dischi.
Nel portale di Azure passare ad Azure Key Vault usato per configurare la chiave in uso per questa funzionalità.
Aprire la scheda Criteri di accesso dal pannello a sinistra. Dopo aver aperto la scheda, fare clic su Crea in alto nella pagina.
Nella scheda Autorizzazioni della sezione Autorizzazioni chiave abilitare Recupera, Annulla il wrapping della chiave ed Esegui il wrapping della chiave.
Fare clic su Avanti.
Nella scheda Entità di sicurezza immettere nella barra di ricerca il nome del set di crittografia dischi nel gruppo di risorse gestite dell'area di lavoro di Azure Databricks. Selezionare il risultato e fare clic su Avanti.
Fare clic su Rivedi + crea e poi su Crea.
Usare l'interfaccia della riga di comando di Azure (nessun modello)
Per le aree di lavoro nuove e aggiornate, aggiungere questi parametri al comando:
disk-key-name
: Nome della chiave.disk-key-vault
: Nome dell'insieme di credenzialidisk-key-version
: Versione della chiavedisk-key-auto-rotation
: Abilita la rotazione automatica della chiave (true
ofalse
). Questo campo è facoltativo. Il valore predefinito èfalse
.
Nei comandi seguenti usare il valore dell'URI dell'insieme di credenziali della risposta di cui al passaggio precedente al posto di <key-vault-uri>
. Inoltre, il nome della chiave e i valori della versione della chiave sono disponibili all'interno del valore kid
nella risposta del passaggio precedente.
Creare o aggiornare un'area di lavoro:
Esempio di creazione di un'area di lavoro usando questi parametri del disco gestito:
az databricks workspace create --name <workspace-name> \ --resource-group <resource-group-name> \ --location <location> \ --sku premium --disk-key-name <key-name> \ --disk-key-vault <key-vault-uri> \ --disk-key-version <key-version> \ --disk-key-auto-rotation <true-or-false>
Esempio di aggiornamento di un'area di lavoro usando questi parametri del disco gestito:
az databricks workspace update \ --name <workspace-name> \ --resource-group <resource-group-name> \ --disk-key-name <key-name> \ --disk-key-vault <key-vault-uri> \ --disk-key-version <key-version> \ --disk-key-auto-rotation <true-or-false>
Nell'output di uno di questi comandi è presente un oggetto
managedDiskIdentity
. Salvare il valore della proprietàprincipalId
dell'oggetto. Viene utilizzato in un passaggio successivo come ID entità.Aggiungere un criterio di accesso con autorizzazione chiavi per un insieme di credenziali delle chiavi Usare il nome dell'insieme di credenziali e l'ID entità dei passaggi precedenti:
az keyvault set-policy \ --name <key-vault-name> \ --object-id <principal-id> \ --key-permissions get wrapKey unwrapKey
Usare PowerShell (nessun modello)
Per le aree di lavoro nuove e aggiornate, aggiungere questi parametri al comando:
location
: Posizione nell'area di lavoroManagedDiskKeyVaultPropertiesKeyName
: Nome chiaveManagedDiskKeyVaultPropertiesKeyVaultUri
: URI dell’insieme di credenziali delle chiaviManagedDiskKeyVaultPropertiesKeyVersion
: Versione della chiaveManagedDiskRotationToLatestKeyVersionEnabled
: Abilita la rotazione automatica della chiave (true
ofalse
). Questo campo è facoltativo. L'impostazione predefinita è false.
Creare o aggiornare un'area di lavoro:
Esempio di creazione di un'area di lavoro utilizzando parametri del disco gestito:
$workspace = New-AzDatabricksWorkspace -Name <workspace-name> \ -ResourceGroupName <resource-group-name> \ -location $keyVault.Location \ -Sku premium \ -ManagedDiskKeyVaultPropertiesKeyName $key.Name \ -ManagedDiskKeyVaultPropertiesKeyVaultUri $keyVault.VaultUri \ -ManagedDiskKeyVaultPropertiesKeyVersion $key.Version -ManagedDiskRotationToLatestKeyVersionEnabled
Esempio di aggiornamento di un'area di lavoro utilizzando parametri del disco gestito:
$workspace = Update-AzDatabricksworkspace -Name <workspace-name> \ -ResourceGroupName <resource-group-name> \ -ManagedDiskKeyVaultPropertiesKeyName $key.Name \ -ManagedDiskKeyVaultPropertiesKeyVaultUri $keyVault.VaultUri \ -ManagedDiskKeyVaultPropertiesKeyVersion $key.Version -ManagedDiskRotationToLatestKeyVersionEnabled
Aggiungere un criterio di accesso con autorizzazione chiavi per un insieme di credenziali delle chiavi:
Set-AzKeyVaultAccessPolicy -VaultName $keyVault.VaultName \ -ObjectId $workspace.ManagedDiskIdentityPrincipalId \ -PermissionsToKeys wrapkey,unwrapkey,get
Usare un modello ARM (portale di Azure o interfaccia della riga di comando)
È possibile esplorare i modelli di avvio rapido di Azure nella documentazione di Azure. Per un elenco delle opzioni di distribuzione dei modelli ARM, si veda la documentazione dei modelli ARM.
Quando si crea un'area di lavoro, viene creata anche una risorsa del set di crittografia dischi all'interno del gruppo di risorse gestite dell'area di lavoro. Ha un'identità gestita assegnata dal sistema utilizzata per accedere all'insieme di credenziali delle chiavi. Prima che l'ambiente di calcolo di Azure Databricks possa usare questa chiave per crittografare i dati, è necessario recuperare l'ID entità del set di crittografia del disco, poi concedere all'identità le autorizzazioni GET
, WRAP
e UNWRAP
per l'insieme di credenziali delle chiavi.
Databricks raccomanda di creare o aggiornare l'area di lavoro e concedere le autorizzazioni per l'insieme di credenziali delle chiavi nella stessa distribuzione del modello. È necessario creare o aggiornare l'area di lavoro prima di concedere le autorizzazioni per l'insieme di credenziali delle chiavi, con un'unica eccezione. Se si aggiorna un'area di lavoro esistente con chiavi gestite dal cliente per utilizzare una nuova chiave in un nuovo insieme di credenziali delle chiavi, è necessario concedere al set di crittografia del disco esistente l'autorizzazione ad accedere al nuovo insieme di credenziali delle chiavi e poi aggiornare l'area di lavoro con la configurazione della nuova chiave.
Il modello di esempio presentato in questa sezione esegue entrambe le operazioni descritte di seguito:
- Crea o aggiorna un'area di lavoro per aggiungere le impostazioni della chiave gestita dal cliente del disco gestito
- Concede all'insieme di credenziali delle chiavi l'accesso al set di crittografia dischi
È possibile usare il seguente modello di ARM di esempio, che esegue due operazioni:
- Crea o aggiorna un'area di lavoro con una chiave gestita dal cliente del disco gestito.
- Creare criteri di accesso alle chiavi
Se si usa già un modello di ARM, è possibile unire i parametri, le risorse e gli output del modello di esempio nel modello esistente.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"type": "string",
"metadata": {
"description": "The name of the Azure Databricks workspace to create"
}
},
"pricingTier": {
"type": "string",
"defaultValue": "premium",
"allowedValues": [
"premium"
],
"metadata": {
"description": "The pricing tier of workspace"
}
},
"apiVersion": {
"type": "string",
"defaultValue": "2023-02-01",
"allowedValues": [
"2023-02-01",
"2022-04-01-preview"
],
"metadata": {
"description": "The API version to use to create the workspace resources"
}
},
"keyVaultName": {
"type": "string",
"metadata": {
"description": "The Key Vault name used for CMK"
}
},
"keyName": {
"type": "string",
"metadata": {
"description": "The key name used for CMK"
}
},
"keyVersion": {
"type": "string",
"metadata": {
"description": "The key version used for CMK"
}
},
"keyVaultResourceGroupName": {
"type": "string",
"metadata": {
"description": "The resource group name of the Key Vault used for CMK"
}
},
"enableAutoRotation": {
"type": "bool",
"defaultValue": false,
"allowedValues": [
true,
false
],
"metadata": {
"description": "Whether managed disk picks up new key versions automatically"
}
}
},
"variables": {
"managedResourceGroupName": "[concat('databricks-rg-', parameters('workspaceName'), '-', uniqueString(parameters('workspaceName'), resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Databricks/workspaces",
"name": "[parameters('workspaceName')]",
"location": "[resourceGroup().location]",
"apiVersion": "[parameters('apiVersion')]",
"sku": {
"name": "[parameters('pricingTier')]"
},
"properties": {
"managedResourceGroupId": "[concat(subscription().id, '/resourceGroups/', variables('managedResourceGroupName'))]",
"encryption": {
"entities": {
"managedDisk": {
"keySource": "Microsoft.Keyvault",
"keyVaultProperties": {
"keyVaultUri": "[concat('https://', parameters('keyVaultName'), environment().suffixes.keyvaultDns)]",
"keyName": "[parameters('keyName')]",
"keyVersion": "[parameters('keyVersion')]"
},
"rotationToLatestKeyVersionEnabled": "[parameters('enableAutoRotation')]"
}
}
}
}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2020-06-01",
"name": "addAccessPolicy",
"resourceGroup": "[parameters('keyVaultResourceGroupName')]",
"dependsOn": [
"[resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName'))]"
],
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "0.9.0.0",
"resources": [
{
"type": "Microsoft.KeyVault/vaults/accessPolicies",
"apiVersion": "2019-09-01",
"name": "[concat(parameters('keyVaultName'), '/add')]",
"properties": {
"accessPolicies": [
{
"objectId": "[reference(resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName')), '2023-02-01').managedDiskIdentity.principalId]",
"tenantId": "[reference(resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName')), '2023-02-01').managedDiskIdentity.tenantId]",
"permissions": {
"keys": [
"get",
"wrapKey",
"unwrapKey"
]
}
}
]
}
}
]
}
}
}
],
"outputs": {
"workspace": {
"type": "object",
"value": "[reference(resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName')))]"
}
}
}
Usare il modello con qualsiasi strumento desiderato, tra cui il portale di Azure, l’interfaccia della riga di comando o altri strumenti. Sono inclusi dettagli per le seguenti strategie di implementazione dei modelli:
- Applicare un modello di ARM usando il portale di Azure
- Applicare un modello di ARM usando l’interfaccia della riga di comando di Azure
Applicare un modello di ARM usando il portale di Azure
Per creare o aggiornare un'area di lavoro usando un modello di ARM nel portale di Azure, eseguire le seguenti operazioni:
Accedere al portale di Azure.
Fare clic su Crea una risorsa, e poi su Distribuzione modello (distribuire usando modelli personalizzati).
Nel pannello Distribuzione personalizzata fare clic su Crea un modello personalizzato nell'editor.
Incollare il contenuto del modello di esempio nell'editor.
Fare clic su Salva.
Immettere i valori dei parametri.
Per aggiornare un'area di lavoro esistente, utilizzare gli stessi parametri usati per creare l'area di lavoro. Per aggiungere per la prima volta una chiave gestita dal cliente, aggiungere i parametri correlati alla chiave in
resources.properties.encryption.entities.managedDisk
come illustrato nel modello qui sopra. Per ruotare la chiave, modificare alcuni o tutti i parametri correlati alla chiave.Importante
Se si aggiorna un'area di lavoro, il nome del gruppo di risorse e il nome dell'area di lavoro del modello devono essere identici al nome del gruppo di risorse e al nome dell'area di lavoro esistente.
Fare clic su Rivedi e crea.
Risolvere eventuali problemi di convalida e poi fare clic su Crea.
Importante
Se si ruota una chiave, non eliminare la chiave precedente fino al completo aggiornamento dell'area di lavoro.
Applicare un modello di ARM usando l’interfaccia della riga di comando di Azure
Questa sezione descrive come creare o aggiornare un'area di lavoro con la chiave utilizzando un modello di ARM con l'interfaccia della riga di comando di Azure.
Controllare se il modello comprende la sezione per
resources.properties.encryption.entities.managedDisk
e i parametri correlatikeyvaultName
,keyName
,keyVersion
ekeyVaultResourceGroupName
. Se non sono presenti, si veda la parte precedente di questa sezione per un modello di esempio e unire quella sezione e i parametri nel modello.Eseguire il comando
az deployment group create
. Se il nome del gruppo di risorse e il nome dell'area di lavoro sono identici al nome del gruppo di risorse e al nome di un’'area di lavoro esistente, questo comando aggiorna l'area di lavoro esistente anziché creare una nuova area di lavoro. Se si aggiorna una distribuzione esistente, assicurarsi di usare lo stesso gruppo di risorse e lo stesso nome per l'area di lavoro utilizzati in precedenza.az deployment group create --resource-group <existing-resource-group-name> \ --template-file <file-name>.json \ --parameters workspaceName=<workspace-name> \ keyvaultName=<key-vault-name> \ keyName=<key-name> keyVersion=<key-version> \ keyVaultResourceGroupName=<key-vault-resource-group>
Importante
Se si ruota una chiave, non è possibile eliminare la chiave precedente fino al completo aggiornamento dell'area di lavoro.
Passaggio 5: Verificare che le risorse di calcolo usino la chiave (facoltativo)
Per verificare che la funzionalità chiave gestita dal cliente del disco gestito sia abilitata per l'area di lavoro:
Recuperare i dettagli dell'area di lavoro di Azure Databricks eseguendo una delle seguenti operazioni:
Portale di Azure
- Nel portale di Azure fare clic su Aree di lavoro e poi sul nome dell'area di lavoro.
- Nella pagina dell'area di lavoro fare clic su Visualizza JSON.
- Fare clic su una versione dell'API uguale o successiva a quella dell'API
2022-04-01-preview
.
Interfaccia della riga di comando di Azure
Esegui questo comando:
az databricks workspace show --resource-group <resource group name> --name <workspace name>
I parametri di crittografia del disco gestito sono inclusi in
properties
. Ad esempio:"properties": { "encryption": { "entities": { "managedDisk": { "keySource": "Microsoft.Keyvault", "keyVaultProperties": { "keyVaultUri": "<key-vault-uri>", "keyName": "<key-name>", "keyVersion": "<key-version>" }, "rotationToLatestKeyVersionEnabled": "<rotation-enabled>" } } }
PowerShell
Get-AzDatabricksWorkspace -Name <workspace-name> -ResourceGroupName <resource-group-name> | Select-Object -Property ManagedDiskKeySource, ManagedDiskKeyVaultPropertiesKeyVaultUri, ManagedServicesKeyVaultPropertiesKeyName, ManagedServicesKeyVaultPropertiesKeyVersion, ManagedDiskRotationToLatestKeyVersionEnabled
Esaminare i valori per le proprietà restituite nell'output:
ManagedDiskKeySource : Microsoft.Keyvault ManagedDiskKeyVaultPropertiesKeyVaultUri : <key-vault-uri> ManagedServicesKeyVaultPropertiesKeyName : <key-name> ManagedServicesKeyVaultPropertiesKeyVersion : <key-version> ManagedDiskRotationToLatestKeyVersionEnabled : <rotation-enabled>
Creare qualsiasi risorsa di calcolo per l'area di lavoro da usare per i test:
Se l'avvio di una risorsa di calcolo non riesce, in genere è necessario concedere al set di crittografia del disco le autorizzazioni appropriate per accedere all'insieme di credenziali delle chiavi.
Nel portale di Azure fare clic su Aree di lavoro e poi sul nome dell'area di lavoro.
Nella pagina dell'area di lavoro fare clic sul nome del gruppo di risorse gestito in cui si trova l'area di lavoro.
Nella pagina del gruppo di risorse, in Risorse, fare clic sul nome di una macchina virtuale.
Sulla sinistra della pagina della macchina virtuale, in Impostazioni, fare clic su Dischi.
Nella pagina Dischi, alla voce Dischi dati verificare che il campo Crittografia per il disco abbia il valore
SSE with CMK
.
Passaggio 6: Avviare le risorse di calcolo terminate in precedenza
- Verificare che l'aggiornamento dell'area di lavoro sia completato. Se la chiave è stata l'unica modifica al modello, questa operazione viene in genere completata in meno di cinque minuti, altrimenti potrebbe richiedere più tempo.
- Avviare manualmente tutte le risorse di calcolo terminate in precedenza.
Se l'avvio di una risorsa di calcolo non riesce, in genere è necessario concedere al set di crittografia del disco le autorizzazioni appropriate per accedere all'insieme di credenziali delle chiavi.
Ruotare la chiave in un secondo momento
Esistono due tipi di rotazioni delle chiavi in un'area di lavoro esistente in cui c’è già una chiave:
- Rotazione automatica: se
rotationToLatestKeyVersionEnabled
ètrue
per l'area di lavoro, il set di crittografia del disco rileva la modifica della versione della chiave e punta alla versione della chiave più recente. - Rotazione manuale: è possibile aggiornare un'area di lavoro esistente di chiavi gestite dal cliente con una nuova chiave. Seguire le istruzioni riportate in precedenza come per l’aggiunta iniziale di una chiave all'area di lavoro esistente.
Risoluzione dei problemi
Il cluster ha esito negativo con KeyVaultAccessForbidden
Il problema è che un cluster non riesce ad avviarsi, generando il seguente errore:
Cloud Provider Launch Failure: KeyVaultAccessForbidden
Concedere il set di crittografia del disco creato nel gruppo di risorse gestite dell'area di lavoro per accedere all'insieme di credenziali delle chiavi. Autorizzazioni necessarie: GET
, WRAPKEY
, UNWRAPKEY
.
Rileggere la sottosezione del Passaggio 4: Creare o aggiornare un'area di lavoro per il tipo di distribuzione e prestare particolare attenzione all'aggiornamento dei criteri di accesso di Key Vault con autorizzazioni specifiche.
Parametri chiave mancanti
Il problema è che mancano i parametri della chiave gestita dal cliente per il disco gestito.
Verificare che il modello ARM usi la versione API corretta per la risorsa Microsoft.Databricks/workspaces
. La funzionalità chiave gestita dal cliente del disco gestito è disponibile solo con la versione di API uguale o successiva a 2022-04-01-preview
. Se si usano altre versioni di API, l'area di lavoro viene creata o aggiornata, ma i parametri del disco gestito vengono ignorati.
L'aggiornamento dell'area di lavoro non riesce con ApplicationUpdateFail
Il problema è che un'operazione di aggiornamento o patch dell'area di lavoro non riesce per un'area di lavoro abilitata al disco gestito, generando il seguente errore:
Failed to update application: `<workspace name>`, because patch resource group failure. (Code: ApplicationUpdateFail)
Concedere all'insieme di credenziali delle chiavi l'accesso al set di crittografia del disco, poi eseguire le operazioni di aggiornamento dell'area di lavoro come l'aggiunta di tag.
Criteri di accesso mancanti
Il problema è il seguente errore:
ERROR CODE: BadRequest MESSAGE: Invalid value found at accessPolicies[14].ObjectId: <objectId>
I criteri di accesso con l'ID oggetto precedente non sono validi nell'insieme di credenziali delle chiavi. È necessario rimuoverlo per aggiungere nuovi criteri di accesso all'insieme di credenziali delle chiavi.
Le chiavi perse non sono recuperabili
Le chiavi perse non sono recuperabili. Se si perde o revoca la chiave e non è possibile recuperarla, le risorse di calcolo di Azure Databricks non funzionano più. Le altre funzioni dell'area di lavoro non sono interessate.
Risorse
- Dischi gestiti di Azure nella documentazione di Azure
- Crittografia lato server di archiviazione su disco di Azure nella documentazione di Azure