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.

Credential

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