Freigeben über


Anmeldeinformationen

Gilt für:Häkchen Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime durch Häkchen mit „Ja“ markiert Nur Unity Catalog

Unity Catalog und der integrierte Azure Databricks Hive-Metastore verwenden Standardspeicherorte für verwaltete Tabellen. Unity Catalog führt mehrere neue sicherungsfähige Objekte ein, um externen Clouddiensten und Daten im Cloudobjektspeicher Berechtigungen zu gewähren.

  • Berechtigungsnachweis

    Ein Unity Catalog-Objekt, das zum Abstrahieren langfristiger Anmeldeinformationen von Clouddienst- und Speicheranbietern verwendet wird.

    • Speicheranmeldeinformationen

      Eine Unity-Kataloganmeldeinformationen, die für den Zugriff auf externe Speicherorte und Tabellen verwendet werden.

    • Dienstanmeldeinformationen

      Eine Unity-Katalog-Anmeldeinformationen, die für den Zugriff auf externe Clouddienste mit Anbieter-SDKs verwendet werden. Weitere Informationen finden Sie unter Erstellen von Dienstanmeldeinformationen.

  • Externer Speicherort

    Ein Unity Catalog-Objekt, das verwendet wird, um einen Cloudobjektspeicher-URI mit einer Speicheranmeldeinformation zu verknüpfen.

  • Externe Tabelle

    Eine Unity Catalog-Tabelle, die in einem von Unity Catalog verwalteten externen Speicherort erstellt wurde.

Berechtigung

Eine Anmeldeinformation ist ein sicherungsfähiges Objekt, das eine verwaltete Azure-Identität oder einen Microsoft Entra ID-Dienstprinzipal darstellt.

Nachdem eine Anmeldeinformation erstellt wurde, kann der Zugriff darauf auf Prinzipale (Benutzer und Gruppen) gewährt werden.

Speicheranmeldeinformationen werden in erster Linie verwendet, um externe Speicherorte zu erstellen, die den Zugriff auf einen bestimmten Speicherpfad beschränken.

Anmeldeinformationsnamen sind nicht qualifiziert und müssen innerhalb des Metastores eindeutig sein.

Grafische Darstellung von Beziehungen

Das folgende Diagramm veranschaulicht die Beziehung zwischen den folgenden Elementen:

  • Speicheranmeldeinformationen
  • Externe Speicherorte
  • Externe Tabellen
  • Speicherpfade
  • IAM-Entitäten
  • Azure-Dienstkonten

ER-Diagramm des externen Speicherorts

Beispiele

Erstellen Sie mithilfe der CLI eine Speicheranmeldeinformation namens my_azure_storage_cred für einen Microsoft Entra ID-Dienstprinzipal.

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"}}'

Die restlichen Befehle können in SQL ausgeführt werden.

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