Usare le credenziali del servizio Catalogo Unity per connettersi ai servizi cloud esterni
Importante
Questa funzionalità è disponibile in anteprima pubblica.
Questo articolo descrive come usare le credenziali del servizio nel catalogo unity per connettersi a servizi cloud esterni. Un oggetto credenziale del servizio in Unity Catalog incapsula una credenziale cloud a lungo termine che fornisce l'accesso a un servizio cloud esterno a cui gli utenti devono connettersi da Azure Databricks.
Vedere anche:
- Gestire l'accesso ai servizi cloud esterni usando le credenziali del servizio.
- Gestire le credenziali del servizio
Prima di poter usare le credenziali di un servizio per connettersi a un servizio cloud esterno, è necessario disporre di:
- Un'area di lavoro di Azure Databricks abilitata per Unity Catalog.
- Risorsa di calcolo in Databricks Runtime 15.4 LTS o versione successiva. I warehouse SQL non sono supportati.
- Credenziali del servizio create nel metastore del catalogo Unity che consente l'accesso al servizio cloud.
- Privilegio
ACCESS
per le credenziali del servizio o la proprietà della credenziale del servizio.
Questa sezione fornisce un esempio di uso di credenziali del servizio in un notebook. Durante l'anteprima pubblica è supportato solo Python. Sostituire i valori segnaposto.
from azure.keyvault.secrets import SecretClient # example Azure SDK client
credential = dbutils.credentials.getServiceCredentialsProvider('your-service-credential')
vault_url = "https://your-keyvault-name.vault.azure.net/"
client = SecretClient(vault_url=vault_url, credential=credential)
Facoltativamente, è possibile specificare una credenziale del servizio predefinita per un cluster di calcolo di tutti gli scopi o processi impostando una variabile di ambiente. Per impostazione predefinita, l'SDK usa tale credenziale del servizio se non viene fornita alcuna autenticazione. Gli utenti richiedono ACCESS
comunque che le credenziali del servizio si connettano al servizio cloud esterno. Databricks non consiglia questo approccio, perché rende il codice meno portabile rispetto alla denominazione delle credenziali del servizio nel codice.
Nota
Le risorse di calcolo serverless e SQL Warehouse non supportano le variabili di ambiente e pertanto non supportano le credenziali del servizio predefinite.
Aprire la pagina di modifica per il cluster.
Vedere Gestire le risorse di calcolo.
Fare clic su Opzioni avanzate nella parte inferiore della pagina e passare alla scheda Spark .
Aggiungere la voce seguente in Variabili di ambiente, sostituendo
<your-service-credential>
:DATABRICKS_DEFAULT_SERVICE_CREDENTIAL_NAME=<your-service-credential>
L'esempio di codice seguente non specifica le credenziali del servizio. Usa invece le credenziali del servizio specificate nella DATABRICKS_DEFAULT_SERVICE_CREDENTIAL_NAME
variabile di ambiente:
from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient
vault_url = "https://your-keyvault-name.vault.azure.net/"
client = SecretClient(vault_url=vault_url, credential=credential)
Confrontare l'esempio in Esempio: configurare un client Azure SDK per l'uso di credenziali del servizio specifiche, che non importa DefaultAzureCredential
e aggiunge la specifica delle credenziali:
credential = dbutils.credentials.getServiceCredentialsProvider('your-service-credential')