Delen via


Geloofsbrief

Van toepassing op:selectievakje gemarkeerd als ja Databricks SQL-selectievakje gemarkeerd als Ja Databricks Runtime vinkje alleen Unity Catalog aan

Unity Catalog en de ingebouwde Azure Databricks Hive-metastore gebruiken standaardlocaties voor beheerde tabellen. Unity Catalog introduceert verschillende nieuwe beveiligbare objecten om bevoegdheden te verlenen aan externe cloudservices en -gegevens in de opslag van cloudobjecten.

Referentie

Een referentie is een beveiligbaar object dat een door Azure beheerde identiteit of Microsoft Entra ID-service-principal vertegenwoordigt.

Nadat een referentie is gemaakt, kan toegang worden verleend aan principals (gebruikers en groepen).

Opslagreferenties worden voornamelijk gebruikt om externe locatieste creƫren, waarmee toegang wordt verleend tot een specifiek opslagpad.

Referentienamen zijn niet gekwalificeerd en moeten uniek zijn binnen de metastore.

Grafische weergave van relaties

In het volgende diagram wordt de relatie tussen:

  • opslagreferenties
  • externe locaties
  • externe tabellen
  • opslagpaden
  • IAM-entiteiten
  • Azure-serviceaccounts

ER-diagram voor externe locatie

Voorbeelden

Met CLI maakt u een opslagreferentie my_azure_storage_cred voor een Service-principal van 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"}}'

De rest van de opdrachten kan worden uitgevoerd in 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';