Merit
Gäller endast för: Databricks SQL Databricks Runtime Unity Catalog
Unity Catalog och det inbyggda Azure Databricks Hive-metaarkivet använder standardplatser för hanterade tabeller. Unity Catalog introducerar flera nya skyddsbara objekt för att bevilja behörigheter till externa molntjänster och data i molnobjektlagring.
-
Ett Unity Catalog-objekt som används för att abstrahera långsiktiga autentiseringsuppgifter från molntjänst- och lagringsleverantörer.
lagringsautentiseringsuppgifter
En Unity Catalog-autentiseringsuppgift som används för att komma åt externa platser och tabeller.
tjänstautentiseringsuppgifter
Viktigt!
Den här funktionen finns som allmänt tillgänglig förhandsversion.
En Unity Catalog-autentiseringsuppgift som används för att komma åt externa molntjänster med provider-SDK:er. Mer information finns i Hantera åtkomst till externa molntjänster med tjänstautentiseringsuppgifter.
-
Ett Unity Catalog-objekt som används för att associera en lagrings-URI för molnobjekt med en lagringsautentiseringsuppgift.
-
En Unity Catalog-tabell som skapats på en extern plats som hanteras av Unity Catalog.
Merit
En autentiseringsuppgift är ett skyddsbart objekt som representerar en hanterad Azure-identitet eller tjänstens huvudnamn för Microsoft Entra-ID.
När en autentiseringsuppgift har skapats kan åtkomst till den beviljas till huvudkonton (användare och grupper).
Autentiseringsuppgifter för lagring används främst för att skapa externa platser, vilket omfångsåtkomst till en specifik lagringssökväg.
Namn på autentiseringsuppgifter är okvalificerade och måste vara unika i metaarkivet.
Grafisk representation av relationer
Följande diagram beskriver relationen mellan:
- autentiseringsuppgifter för lagring
- externa platser
- externa tabeller
- lagringssökvägar
- IAM-entiteter
- Azure-tjänstkonton
Exempel
Använd CLI för att skapa en lagringsautentiseringsuppgift my_azure_storage_cred
för tjänstens huvudnamn för 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"}}'
Resten av kommandona kan köras i 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';