Verlaufen von Unity Catalog-Anmeldeinformationen für den Zugriff auf externe Systeme
Wichtig
Dieses Feature befindet sich in der Public Preview.
Tipp
Informationen zum Lesen von Azure Databricks-Daten mit Microsoft Fabric finden Sie unter Verwenden von Microsoft Fabric zum Lesen von Daten, die im Unity-Katalogregistriert sind.
In diesem Artikel wird beschrieben, wie die Unity Catalog-Funktion zum Verkaufen von Anmeldeinformationen den Zugriff auf die Daten in Azure Databricks von externen Verarbeitungs-Engines unterstützt.
Der Verkauf von Anmeldeinformationen unterstützt externe Systeme, die eine Verbindung mit Unity Catalog über die Unity-REST-API und den Iceberg-REST-Katalog herstellen. Siehe Lesen von Databricks-Tabellen von Delta-Clients und Zugriff auf Databricks-Daten mithilfe externer Systeme.
Was bedeutet ein Verkauf von Unity Catalog-Anmeldeinformationen?
Der Verkauf von Anmeldeinformationen gewährt kurzlebige Anmeldeinformationen mithilfe der Unity Catalog-REST-API. Die gewährten Anmeldeinformationen erben die Berechtigungen des Azure Databricks-Prinzipals, der zum Konfigurieren der Integration verwendet wird. Diese Anmeldeinformationen gewähren externen Clients Zugriff auf Daten, die in Ihrem Unity-Katalog-Metastore registriert sind.
Hinweis
Der Verkauf von Unity Catalog-Anmeldeinformationen ermöglicht Folgendes:
- Schreibgeschützter Zugriff auf Tabellen, die von Unity Catalog verwaltet werden.
- Nur-Lesezugriff auf Tabellen, die für Iceberg-Abfragen konfiguriert sind.
- Lese- und Schreibzugriff auf externe Tabellen im Unity-Katalog.
Einige Clients unterstützen den Zugriff auf von Delta Lake gestützte Tabellen, während andere erfordern, dass Iceberg-Lesevorgänge (UniForm) in Tabellen aktiviert werden. Siehe Lesen von Delta-Tabellen mit Iceberg-Clients.
Um temporäre Anmeldeinformationen zu erhalten, muss der Azure Databricks-Prinzipal (Benutzer, Gruppe oder Dienstprinzipal), der die Anforderung sendet, über die Berechtigung EXTERNAL USE SCHEMA
auf dem Schema verfügen, das die Tabelle enthält, auf die er aus der externen Engine zugreifen muss. Der Unity-Katalog-Metaspeicher, der das Schema enthält, muss auch explizit für den externen Zugriff aktiviert werden. Siehe Aktivieren des Zugriffs auf externe Daten im Unity Catalog.
Die Anmeldeinformationen umfassen ein kurzlebiges Zugriffstoken und eine URL des Cloudspeicherorts, die das externe System verwenden kann, um auf Tabellendaten und Metadaten am Cloudspeicherort zuzugreifen.
Anforderungen
- Sie müssen den externen Zugriff im Metastore konfigurieren und
EXTERNAL USE SCHEMA
dem Hauptnutzer gewähren, der die Verbindung konfiguriert. Siehe Aktivieren des Zugriffs auf externe Daten in Unity Catalog. - Um auf den Azure Databricks-Arbeitsbereich mithilfe von Unity Catalog Open APIs oder Iceberg REST-APIs zuzugreifen, muss die Arbeitsbereichs-URL für das Modul zugänglich sein, das die Anforderung ausführt. Dazu gehören Arbeitsbereiche, die IP-Zugriffslisten oder azure Private Linkverwenden.
- Um auf den zugrunde liegenden Cloudspeicherort für Unity Catalog-registrierte Datenobjekte zuzugreifen, müssen die speicherbasierten URLs, die von der temporären Anmeldeinformations-API des Unity-Katalogs generiert wurden, für das Modul zugänglich sein, das die Anforderung ausführt. Dies bedeutet, dass die Engine in den Firewall- und Netzwerkzugriffssteuerungslisten für die zugrunde liegenden Cloudspeicherkonten freigegeben sein muss.
Eine temporäre Berechtigung für den Zugriff auf externe Daten anfordern
Die Unterstützung beim Verkauf von Anmeldeinformationen variiert je nach externem Client. Wo unterstützt, sollte der Client automatisch verkaufte Anmeldeinformationen verwenden, wenn eine Verbindung konfiguriert wird.
Dieser Abschnitt enthält ein Beispiel für das ausdrückliche Aufrufen des API-Endpunkts zum Verkauf von Anmeldeinformationen. Für einige externe Clients müssen Sie möglicherweise explizit Konfigurationen festlegen, um auf Daten und Metadaten im Cloudobjektspeicher zuzugreifen, die Ihre Unity-Katalogtabellen sichern. Sie können werte verwenden, die von Credential Vending zurückgegeben werden, um den Zugriff zu konfigurieren.
Hinweis
Sie können eine Liste von Tabellen abrufen, die die Berechtigungsausgabe unterstützen, indem Sie die ListTables-API aufrufen, wobei die Option include_manifest_capabilities
aktiviert ist. Nur Tabellen, die mit HAS_DIRECT_EXTERNAL_ENGINE_READ_SUPPORT
oder HAS_DIRECT_EXTERNAL_ENGINE_WRITE_SUPPORT
gekennzeichnet sind, können in der API für temporäre Tabellenanmeldeinformationen als Referenz verwendet werden. Siehe GET /api/2.1/unity-catalog/tables.
Im folgenden curl
Beispiel wird explizit eine temporäre Anmeldeinformation für den externen Datenzugriff angefordert. Diese Anforderung muss von einem Arbeitsbereichsprinzipal mit entsprechenden Berechtigungen abgeschlossen werden.
curl -X POST -H "Authentication: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-table-credentials \
-d '{"table_id": "<string>", "operation_name": "<READ|READ_WRITE>"}'
Ausführliche Informationen finden Sie unter POST /api/2.1/unity-catalog/temporary-table-credentials in der Azure Databricks REST-API-Referenz.
Einschränkungen
Es gelten die folgenden Einschränkungen:
- Nicht alle externen Clients unterstützen den Verkauf von Anmeldeinformationen. Die Unterstützung kann je nach zugrunde liegendem Cloudobjektspeicher variieren.
- Es werden nur verwaltete Tabellen im Unity-Katalog und externe Tabellen im Unity-Katalog unterstützt.
- Tabellen, die für Iceberg-Lesevorgänge aktiviert sind, haben diese Anforderung gemeinsam. Siehe Lesen von Delta-Tabellen mit Iceberg-Clients.
- Delta Lake-Leseclients können nur Tabellen lesen, die von Delta Lake unterstützt werden, und müssen alle aktivierten Lese- oder Schreibprotokolle unterstützen, die auf der Tabelle aktiviert sind. Siehe Wie verwaltet Azure Databricks die Kompatibilität von Delta Lake-Features?.
- Externe Tabellen, die delta Lake nicht verwenden, bieten keine Transaktionsgarantien.
- Die folgenden Tabellentypen oder Tabellen mit aktivierten Features werden nicht unterstützt:
- Tabellen mit Zeilenfiltern oder Spaltenmasken.
- Tabellen, die mithilfe der Delta-Freigabe freigegeben werden.
- Lakehouse-Partnertabellen (Fremdtabellen).
- Ansichten.
- Materialisierte Ansichten.
- Streamingtabellen für Delta Live Tables.
- Onlinetabellen.
- Vektorsuchindizes.