Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Questa funzionalità è in versione beta.
Esegui il backup di uno schema di Unity Catalog con Azure Key Vault per usare i tuoi segreti di Azure Key Vault in notebook, job e UDF senza copiarli. I valori rimangono in Key Vault, e i privilegi del Catalogo Unity controllano chi può leggere o utilizzare ogni segreto.
A differenza di uno scope segreto supportato da Azure Key Vault, che espone un intero vault a un unico workspace, uno schema Unity Catalog supportato da Key Vault è disponibile in ogni workspace collegato al metastore e concede l'accesso a ogni segreto separatamente.
Per confrontare i segreti esterni con i segreti gestiti da Azure Databricks e gli scope di segreti dello spazio di lavoro, vedi Scegli dove memorizzare un segreto.
Come funzionano i segreti esterni
Uno schema è associato a una connessione al tuo cloud secret manager. Due controlli indipendenti decidono chi può usare un secret. I permessi delle credenziali di servizio nel tuo gestore dei segreti decidono quali segreti Unity Catalog può importare e leggere, e i privilegi di Unity Catalog decidono quali entità possono utilizzarli.
Dopo aver eseguito il backup di uno schema, i segreti esterni si comportano come segue:
- Ogni lettura recupera il valore corrente: un valore che ruoti nel tuo secret manager entra in vigore alla lettura successiva, senza cambiamenti in Azure Databricks. Il codice che già contiene un valore lo conserva finché non legge di nuovo il segreto. I valori recuperati possono essere memorizzati nella cache sul calcolo che li ha richiesti, come per altri segreti.
- Gestisci i secret nel tuo gestore dei secret: crea, aggiorna, ruota ed elimina i secret lì. Sono in sola lettura nel Catalogo Unity. Quando elimini permanentemente un segreto dal tuo gestore di segreti, Azure Databricks rimuove il segreto del Catalogo Unity, inclusi i suoi permessi e tag.
- Elencare importa nuovi segreti: elencare lo schema avvia un'importazione asincrona. Un segreto aggiunto o rimosso dal tuo secret manager appare in Unity Catalog dopo un elenco successivo, che può richiedere qualche minuto per gli archivi di grandi dimensioni. Puoi leggere un segreto per nome prima che appaia in una lista.
- I log di audit registrano entrambi i lati: i log di audit del Catalogo Unity registrano l'entità di Azure Databricks che legge un segreto. I log lato cloud attribuiscono l'accesso alle credenziali di servizio.
Requisiti
- Soddisfare i requisiti per i segreti di Unity Catalog.
- La Beta per i segreti esterni deve essere abilitata per il tuo spazio di lavoro. Vedere Gestire le anteprime di Azure Databricks.
- Hai bisogno di una credenziale di servizio Unity Catalog e di una connessione Unity Catalog che la utilizzi per autenticarti al tuo secret manager. Vedi Crea credenziali di servizio e Crea una connessione.
- Per eseguire il backup dello schema, devi disporre di
USE CATALOGsul catalogo, della proprietà dello schema o diMANAGEsu di esso, e diUSE CONNECTIONsulla connessione. Lo schema non deve contenere segreti gestiti da Azure Databricks, quindi cancellali prima di fare il backup.
Impostare segreti esterni
Crea una credenziale di servizio
La connessione si autentica al tuo gestore dei segreti con una credenziale di servizio Unity Catalog.
- Crea una credenziale di servizio supportata da un'identità gestita o da un'entità servizio, come descritto in Crea credenziali di servizio.
- Concedi all'identità il permesso di elencare e leggere i segreti nel Key Vault. Ad esempio, assegna il ruolo Utente dei segreti di Key Vault, oppure una policy di accesso con autorizzazioni per ottenere ed elencare i segreti.
Creare una connessione
Crea una connessione Unity Catalog che utilizzi la credenziale di servizio e punti al tuo gestore dei segreti. Ti serve CREATE CONNECTION nel metastore.
Esploratore di cataloghi
- In Esplora catalogo, clicca sul + menu e seleziona Crea una connessione.
- Inserisci un nome di Connessione e seleziona il tipo di connessione Azure Key Vault.
- Seleziona la credenziale di servizio e imposta il nome del vault del tuo Key Vault.
- Clicca su Crea.
Interfaccia a riga di comando di Databricks
Per creare la connessione, esegui quanto segue. Imposta vault_name il nome del tuo Key Vault e credential il nome della credenziale del servizio:
databricks connections create --json '{
"name": "my_key_vault_connection",
"connection_type": "AZURE_KEY_VAULT",
"options": {
"vault_name": "my-vault",
"credential": "my_key_vault_credential"
}
}'
REST API
Per creare la connessione, esegui quanto segue. Azure Databricks risolve vault_name in https://<vault_name>.vault.azure.net:
curl -X POST \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name": "my_key_vault_connection",
"connection_type": "AZURE_KEY_VAULT",
"options": {
"vault_name": "my-vault",
"credential": "my_key_vault_credential"
}
}' \
"$DATABRICKS_HOST/api/2.1/unity-catalog/connections"
Esegui il backup di uno schema con la connessione
- In Esplora cataloghi passare allo schema.
- Nei dettagli dello schema, trova l'impostazione del gestore dei segreti esterni e clicca su Abilita. Abilita rimane non disponibile finché lo schema non ha segreti.
- Seleziona la connessione che hai creato, poi conferma.
Per puntare lo schema a una connessione diversa, clicca su Modifica. Per restituire lo schema allo storage gestito da Azure Databricks, modifica lo schema e disabilita i segreti esterni. Entrambe le modifiche rimuovono i segreti precedentemente importati dallo schema, inclusi i loro permessi e tag.
Verificare l'installazione
Per confermare che Unity Catalog può elencare e leggere i tuoi segreti, esegui quanto segue in un notebook:
# List the secrets in the schema. This also starts an import of new secrets.
dbutils.secrets.list(catalog="main", schema="orders_app")
# Read one secret by name
dbutils.secrets.get(catalog="main", schema="orders_app", key="example_secret")
Se la lista è vuota, rieseguila dopo qualche minuto. Se una lettura fallisce, vedi Risoluzione dei problemi.
Nomi segreti nel Catalogo Unity
Unity Catalog importa un segreto esterno solo se il suo nome soddisfa queste regole:
- I nomi più lunghi di 255 caratteri non vengono importati.
- Per i nomi viene fatta distinzione tra maiuscole e minuscole. Se due segreti differiscono solo per distinzione tra maiuscole e minuscole, Unity Catalog conserva il primo importato e ignora il resto.
-
.diventa:e/diventa|. Azure Databricks consiglia di evitare questi caratteri nei nomi segreti esterni.
Per leggere un segreto prima che appaia in una lista, usa il suo nome con queste sostituzioni.
Troubleshooting
- Un segreto è elencato, ma la lettura fallisce: l'identità può elencare il segreto ma non può leggerne il valore, oppure il segreto è disabilitato in Key Vault. Concedi il ruolo Key Vault Secrets User o una policy di accesso con autorizzazione get, oppure riabilita il segreto.
- Un segreto è scomparso: Unity Catalog non mostra i segreti di Key Vault cancellati in modo software. Recupera il segreto in Key Vault.
- Non appare un nuovo segreto: elenca lo schema, aspetta qualche minuto e rimettilo in lista. Controlla le restrizioni di denominazione e la quota di schema.
- Alcuni segreti non appaiono mai: uno schema contiene fino a 1.000 segreti. Quando il tuo gestore dei segreti ne ha di più, Unity Catalog importa prima i più vecchi in base alla data di creazione e salta il resto. Esponi solo i segreti di cui hai bisogno in ogni schema. Vedi i segreti di gruppo in base a chi ne ha bisogno.
Limitations
Oltre alle limitazioni che si applicano a tutti i segreti del Catalogo Unity, i segreti supportati esternamente presentano le seguenti limitazioni:
- L'accesso cross-cloud non è supportato: esegui il backup degli schemi con il secret manager nativo del cloud dell'area di lavoro.
- Latenza e costo della lettura: ogni lettura recupera il valore dal gestore segreto esterno, il che aggiunge latenza e può comportare costi per i fornitori cloud.
- Nessun filtraggio dei tag: Azure Key Vault non supporta il filtraggio dei segreti importati per tag.
Note
Se il gestore di segreti esterno associato a uno schema si trova in una regione diversa dal metastore o dall'area di lavoro che lo legge, i valori dei segreti e i relativi metadati vengono trasferiti tra regioni. Azure Databricks non garantisce l'elaborazione in regione dei segreti esterni.
I nomi e i valori segreti esterni possono contenere dati personali. Sei responsabile di tenere fuori i dati personali da essi a meno che il tuo caso d'uso non lo richieda.
Risorse aggiuntive
| Resource | Descrzione |
|---|---|
| Migliori pratiche per i segreti di Unity Catalog | Organizza i segreti per ambiente, applicazione o team, e lascia che i carichi di lavoro utilizzino i segreti senza leggerli. |
| Catalogo Secrets in Unity | Crea, concedi e leggi i secret di Unity Catalog. |