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. Gli amministratori dell'area di lavoro possono controllare l'accesso a questa funzionalità dalla pagina Anteprime . Vedere Gestire le anteprime di Azure Databricks.
Questa pagina mostra come collegare uno schema Unity Catalog a un gestore di segreti esterno in modo che i suoi valori segreti rimangano in Azure Key Vault.
Per come funzionano i segreti esterni e le loro limitazioni, vedi Segreti esterni nel Catalogo Unity.
Prima di iniziare
- Soddisfare i requisiti per i segreti di Unity Catalog.
- La Beta per i segreti esterni deve essere abilitata per il tuo spazio di lavoro.
- Lo schema che vuoi supportare esternamente non deve contenere segreti gestiti da Azure Databricks. Elimina i segreti esistenti prima di cambiare il backend.
- Devi avere una connessione Unity Catalog al tuo secret manager esterno e una credenziale di servizio Unity Catalog che la connessione utilizza per autenticarsi. Per crearle, devi avere
USE CONNECTIONsu una connessione esistente oCREATE CONNECTIONsul metastore per crearla, e accedere a una credenziale di servizio, oppureCREATE CREDENTIALsul metastore per crearne una.
- Il supporto di Azure Key Vault è disponibile solo su Azure Databricks su Azure, utilizzando una
AZURE_KEY_VAULTconnessione.
Impostare segreti esterni
Crea una credenziale di servizio
La connessione si autentica con il tuo gestore segreto esterno con una credenziale di servizio Unity Catalog.
Crea una credenziale di servizio supportata da un'identità gestita o da un principale di servizio, e concedigli il permesso di elencare e leggere segreti dal Key Vault target. Ad esempio, assegna il ruolo Utente dei segreti di Key Vault oppure un criterio di accesso equivalente con le autorizzazioni get e list per i segreti. Per le istruzioni, vedi Crea credenziali di servizio.
Creare una connessione
Crea una connessione con Unity Catalog che faccia riferimento alla credenziale di servizio del passaggio precedente e punti al tuo gestore segreto esterno.
Esploratore di cataloghi
- In Azure Databricks, apri Catalog Explorer, 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 con cui autenticarti e imposta il nome della cassaforte della tua Key Vault.
- Clicca su Crea.
Interfaccia a riga di comando di Databricks
Passa il corpo della connessione con --json, usando il tipo di connessione AZURE_KEY_VAULT. 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
Usa l'endpoint /api/2.1/unity-catalog/connections con il tipo di AZURE_KEY_VAULT connessione. 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"
Supporta uno schema con la connessione
Configura il backend segreto dello schema in Catalog Explorer.
In Azure Databricks, apri Catalog Explorer e vai allo schema.
Nei dettagli dello schema, trova l'impostazione del gestore dei segreti esterni e clicca su Abilita.
Lo schema non deve contenere alcun segreto gestito da Azure Databricks. Se succede, rimuovili prima. L'abilitazione rimane disabilitata finché lo schema non ha segreti.
Seleziona la connessione che hai creato nel passaggio precedente, poi conferma.
Lo schema ora è supportato dal tuo gestore segreto esterno e i suoi segreti appaiono nel Catalogo Unity.
Per puntare lo schema a una connessione diversa, usa Modifica. Per restituire lo schema allo storage gestito da Azure Databricks, modifica lo schema e disabilita i segreti esterni.
L'impostazione o la modifica del backend del segreto di uno schema richiede USE CATALOG sul catalogo padre, la proprietà dello schema o MANAGE su di esso, e USE CONNECTION sulla connessione.
Leggi segreti esterni
Dopo che lo schema è stato salvato esternamente, i suoi segreti appaiono nel Catalogo Unity e li leggi come qualsiasi altro segreto del Catalogo Unity. Elencare uno schema attiva un'importazione, quindi un segreto aggiunto appare solo dopo la lista successiva. I comandi di lettura sono gli stessi su entrambi i cloud.
Dbutils
dbutils applica la redazione segreta ed è il modo consigliato per leggere un valore. Richiede Databricks Runtime 17.3 LTS o superiore, oppure l'ambiente serverless versione 4 o successiva.
# List the secrets in the schema
all_secrets = dbutils.secrets.list(catalog="main", schema="default")
# Read a specific secret value from the external secret manager
my_secret = dbutils.secrets.get(catalog="main", schema="default", key="example_secret")
REST API
Imposta include_value=true e leggi il effective_value campo per restituire il valore. L'API REST non maschera i valori restituiti, anche se continua comunque a registrare gli accessi; Azure Databricks consiglia invece dbutils.
curl -G \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
--data-urlencode "include_value=true" \
"$DATABRICKS_HOST/api/2.1/unity-catalog/secrets/main.default.example_secret"
Puoi anche navigare e elencare segreti esterni in Catalog Explorer, allo stesso modo dei segreti gestiti da Azure Databricks. Vedi Leggi un segreto.
Se un segreto non appare ancora nel Catalogo Unity, puoi comunque leggerlo per nome. Fornisci il nome così come appare nel gestore esterno dei segreti, con le sostituzioni di caratteri indicate in Restrizioni di denominazione applicate.
Risorse aggiuntive
| Caratteristica / Funzionalità | Descrzione |
|---|---|
| Segreti esterni nel Catalogo Unity | Scopri come Unity Catalog importa, governa e legge i segreti supportati esternamente, e rivedi i limiti. |
| Catalogo Secrets in Unity | Crea, governa e gestisce i segreti che Azure Databricks memorizza nel Catalogo Unity. |
| Creare le credenziali del servizio | Crea la credenziale del servizio Unity Catalog che la connessione utilizza per autenticarsi. |