Condividi tramite


Credentials

Si applica a:contrassegnato con un sì SQL di Databricks contrassegnato con un sì Databricks Runtime contrassegnato con un sì 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.

  • credenziale

    Oggetto Catalog di Unity usato per l'astrazione a lungo termine di credentials dal servizio di cloud e dall'archiviazione providers.

  • posizione esterna

    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

Diagramma ER della posizione esterna

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';