Dela via


Merit

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

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

Er-diagram för extern plats

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