Share via


Opslagreferenties

Alleen van toepassing op:check marked yes Databricks SQL check marked yes Databricks Runtime check marked yes Unity Catalog

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 gegevens in de cloudobjectopslag.

  • opslagreferenties

    Een Unity Catalog-object dat wordt gebruikt om referenties voor de lange termijn te abstraheren van cloudopslagproviders.

  • externe locatie

    Een Unity Catalog-object dat wordt gebruikt om een opslag-URI voor cloudobjecten te koppelen aan een opslagreferentie.

  • externe tabel

    Een Unity Catalog-tabel die is gemaakt op een door de Unity Catalog beheerde externe locatie.

Opslagreferentie

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

Zodra een opslagreferentie is gemaakt, kan deze worden verleend aan principals (gebruikers en groepen).

Opslagreferenties worden voornamelijk gebruikt voor het maken van externe locaties, waarmee toegang tot een specifiek opslagpad wordt bereikt.

Namen van opslagreferenties 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

External location ER diagram

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