Autentiseringsuppgifter för lagring

Gäller endast för:check marked yes Databricks SQL check marked yes Databricks Runtime check marked yes 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.

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

External location ER diagram

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