Credenziali di archiviazione
Si applica solo a: Catalogo Unity di Databricks SQL Databricks Runtime
Il catalogo unity e il metastore Hive di Azure Databricks incorporato usano percorsi predefiniti per le tabelle gestite. Unity Catalog introduce diversi nuovi oggetti a protezione diretta per concedere privilegi ai dati nell'archiviazione di oggetti cloud.
-
Oggetto Catalog di Unity usato per astrarre le credenziali a lungo termine dai provider di archiviazione cloud.
-
Oggetto Catalog di Unity usato per associare un URI di archiviazione di oggetti cloud a una credenziale di archiviazione.
-
Tabella del catalogo Unity creata in una posizione esterna gestita dal catalogo unity.
Credenziali di archiviazione
Una credenziale di archiviazione è un oggetto a protezione diretta che rappresenta un'identità gestita di Azure o un'entità servizio Microsoft Entra ID.
Dopo aver creato l'accesso a una credenziale di archiviazione, è possibile concedere 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 di archiviazione 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';