Speicheranmeldeinformationen
Gilt für: Databricks SQL Databricks Runtime 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 Daten im Cloudobjektspeicher Berechtigungen zu gewähren.
-
Ein Unity Catalog-Objekt, das zum Abstrahieren langfristiger Anmeldeinformationen von Cloudspeicheranbietern verwendet wird.
-
Ein Unity Catalog-Objekt, das verwendet wird, um einen Cloudobjektspeicher-URI mit einer Speicheranmeldeinformation zu verknüpfen.
-
Eine Unity Catalog-Tabelle, die in einem von Unity Catalog verwalteten externen Speicherort erstellt wurde.
Speicheranmeldeinformationen
Eine Speicheranmeldeinformation ist ein sicherungsfähiges Objekt, das eine von Azure verwaltete Identität oder einen Microsoft Entra ID-Dienstprinzipal darstellt.
Sobald Speicheranmeldeinformationen erstellt wurden, kann Prinzipalen (Benutzern und Gruppen) Zugriff darauf gewährt werden.
Speicheranmeldeinformationen werden in erster Linie verwendet, um externe Speicherorte zu erstellen, die den Zugriff auf einen bestimmten Speicherpfad beschränken.
Namen von Speicheranmeldeinformationen werden ohne Qualifizierung angegeben, müssen aber im Metastore 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
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';