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.

  • Referens

    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

      En Unity Catalog-autentiseringsuppgift som används för att komma åt externa molntjänster med provider-SDK:er. Mer information finns i Skapa autentiseringsuppgifter för tjänsten.

  • extern plats

    Ett Unity Catalog-objekt som används för att associera en lagrings-URI för molnobjekt med en lagringsautentiseringsuppgift.

  • extern tabell

    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

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