Autentiseringsuppgifter för lagring
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 som ger behörighet till data i molnobjektlagring.
lagringsautentiseringsuppgifter
Ett Unity Catalog-objekt som används för att abstrahera långsiktiga autentiseringsuppgifter från molnlagringsleverantörer.
-
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.
Autentiseringsuppgift för lagring
En lagringsautentiseringsuppgift är ett skyddsbart objekt som representerar en hanterad Azure-identitet eller tjänstens huvudnamn för Microsoft Entra-ID.
När en lagringsautentiseringsuppgift 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å lagringsautentiseringsuppgifter ä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';