Credentials
Si applica a: SQL di Databricks Databricks Runtime Unity Catalog solo
Unity Catalog e il metastore Hive integrato di Azure Databricks utilizzano percorsi predefiniti per le tablesgestite. Unity Catalog introduce diversi nuovi oggetti a protezione diretta per grant privilegi ai servizi cloud esterni e ai dati nell'archiviazione di oggetti cloud.
-
Oggetto Catalog di Unity usato per l'astrazione a lungo termine di credentials dal servizio di cloud e dall'archiviazione providers.
credenziali di archiviazione
Credenziale Unity "Catalog" utilizzata per accedere a luoghi esterni e "tables".
credenziali del servizio
Importante
Questa funzionalità è disponibile in anteprima pubblica.
Una credenziale di Unity Catalog usata per accedere ai servizi cloud esterni con SDK del provider. Per altre informazioni, vedere Gestire l'accesso ai servizi cloud esterni tramite il servizio credentials.
-
Oggetto Unity Catalog utilizzato per associare un URI di storage di oggetti nel cloud a una credenziale di archiviazione .
table esterni
Unità
creata in un percorso esternogestito da Unity .
Credenziale
Una credenziale è un oggetto a protezione diretta che rappresenta un'identità gestita di Azure o un'entità servizio Microsoft Entra ID.
Dopo aver creato una credenziale, è possibile concedere l'accesso alle entità (utenti e gruppi).
I credentials di archiviazione vengono usati principalmente per creare posizioni esterne, che delimitano l'accesso a un particolare percorso di archiviazione.
I nomi delle credenziali non sono qualificati e devono essere univoci all'interno del metastore.
Rappresentazione grafica delle relazioni
Il diagramma seguente descrive la relazione tra:
- archiviazione credentials
- posizioni esterne
- tables esterni
- percorsi di archiviazione
- Entità IAM
- Account del servizio di Azure
Esempi
L'uso dell'interfaccia della riga di comando crea credenziali my_azure_storage_cred
di archiviazione per un'entità servizio Microsoft Entra ID.
databricks storage-credentials create --json '{"name": "my_azure_storage_cred", "azure_service_principal": {"directory_id": "12345678-9abc-def0-1234-56789abcdef0", "application_id": "23456789-9abc-def0-1234-56789abcdef0", "client_secret": "Cli3nt5ecr3t"}}'
Il resto dei comandi può essere eseguito all'interno di SQL.
-- Grant access to the storage credential
> GRANT READ FILES ON STORAGE CREDENTIAL my_azure_storage_cred TO ceo;
-- ceo can directly read from any storage path using myazure_storage_cred
> SELECT count(1) FROM `delta`.`abfss://container@storageaccount.dfs.core.windows.net/depts/finance/forecast/somefile` WITH (CREDENTIAL my_azure_storage_cred);
100
> SELECT count(1) FROM `delta`.`abfss://container@storageaccount.dfs.core.windows.net/depts/hr/employees` WITH (CREDENTIAL my_azure_storage_cred);
2017
-- Create an external location on specific path to which `my_azure_storage_cred` has access
> CREATE EXTERNAL LOCATION finance_loc URL 'abfss://container@storageaccount.dfs.core.windows.net/depts/finance'
WITH (CREDENTIAL my_azure_storage_cred)
COMMENT 'finance';