Referentie
Alleen van toepassing op: Databricks SQL Databricks Runtime 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 externe cloudservices en -gegevens in de opslag van cloudobjecten.
-
Een Unity Catalog-object dat wordt gebruikt om referenties voor de lange termijn te abstraheren van cloudservice- en opslagproviders.
opslagreferenties
Een Unity Catalog-referentie die wordt gebruikt voor toegang tot externe locaties en tabellen.
servicereferenties
Belangrijk
Deze functie is beschikbaar als openbare preview.
Een Unity Catalog-referentie die wordt gebruikt voor toegang tot externe cloudservices met provider-SDK's. Zie Toegang tot externe cloudservices beheren met behulp van servicereferenties voor meer informatie.
-
Een Unity Catalog-object dat wordt gebruikt om een opslag-URI voor cloudobjecten te koppelen aan een opslagreferentie.
-
Een Unity Catalog-tabel die is gemaakt op een door de Unity Catalog beheerde externe locatie.
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 voor het maken van externe locaties, waarmee toegang tot een specifiek opslagpad wordt bereikt.
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
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';