Credenziali
Si applica a: Databricks SQL
Databricks Runtime
solo per Unity Catalog
Il Catalogo Unity e il metastore Hive di Azure Databricks incorporato usano percorsi predefiniti per le tabelle gestite. Unity Catalog introduce diversi nuovi oggetti proteggibili per concedere privilegi a servizi cloud esterni e all'archiviazione di dati negli oggetti cloud.
-
Oggetto di Catalogo di Unity utilizzato per astrarre le credenziali a lungo termine dai provider di servizi di cloud e di archiviazione.
credenziali di archiviazione
Credenziali del Catalogo Unity usate per accedere a posizioni e tabelle esterne.
credenziali del servizio
Credenziali del catalogo Unity usate per accedere a servizi cloud esterni con SDK del provider. Per altre informazioni, vedere Gestire l'accesso ai servizi cloud esterni usando le credenziali del servizio.
-
Oggetto di Unity Catalog utilizzato per associare un URI di archiviazione oggetti in cloud a una credenziale di archiviazione .
-
Una tabella del Catalogo Unity creata in una posizione esterna gestita dal Catalogo 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).
Le credenziali di archiviazione vengono usate principalmente per creare percorsi esterni, che hanno come ambito l'accesso a un percorso di archiviazione specifico.
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:
- credenziali di archiviazione
- posizioni esterne
- tabelle esterne
- 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';