Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Tipp
Informationen zum Lesen von Azure Databricks Daten mithilfe von Microsoft Fabric finden Sie unter Microsoft Fabric mit Azure Databricks.
Diese Seite beschreibt, wie die Unity Catalog Credential Vending-Funktionen den Zugriff auf Daten in Azure Databricks von externen Verarbeitungs-Engines unterstützen.
Der Verkauf von Anmeldeinformationen unterstützt externe Systeme, die sich über die Unity REST-API und den Apache Iceberg REST-Katalog mit dem Unity-Katalog verbinden. Siehe Access Databricks-Tabellen von Delta-Clients und Access Databricks-Daten mithilfe externer Systeme.
Was bedeutet der Verkauf von Unity Catalog-Anmeldeinformationen?
Der Verkauf von Anmeldeinformationen gewährt mithilfe der Unity Catalog-REST-API kurzlebige Anmeldeinformationen. Die gewährten Anmeldeinformationen erben die Berechtigungen des in der Integration verwendeten Azure Databricks Principal. Es gibt zwei Arten von Anmeldeinformationsautomaten:
- "Credential Vending in Tabellen bietet Zugriff auf Daten, die in Ihrem Unity Catalog-Metastore erfasst sind."
- Path-Credential-Zuordnung bietet Zugriff auf externe Speicherorte in Ihrem Unity Catalog-Metastore.
Anforderungen
- Der externe Zugriff muss im Metastore konfiguriert werden, wobei
EXTERNAL USE SCHEMAdem anfordernden Prinzipal gewährt wird. Siehe Aktivieren des externen Datenzugriffs im Metastore. - Auf die Arbeitsbereichs-URL muss für die anfordernde Engine zugegriffen werden können, einschließlich der Engines hinter IP-Zugriffslisten oder Azure Private Link.
- Auf Cloudspeicher-URLs muss über Firewall- und Netzwerksteuerelemente zugegriffen werden.
Tabelle Anmeldeinformationsverteilung
Tabellenanmeldeinformationen enthalten eine Zeichenfolge für ein vorübergehendes Zugriffstoken und die URL des Cloud-Speicherorts, die das externe Modul verwenden kann, um auf die Tabellendaten und Metadaten am Cloud-Speicherort zuzugreifen.
Unterstützte Zugriffstypen
Die Verwaltung von Tabellenauthentifizierungsdaten unterstützt die folgenden Typen von Tabellen und Vorgänge:
| Tabellentyp | Lesen Sie | Schreiben | Erstellen |
|---|---|---|---|
| Verwaltetes Delta | Ja | Ja* | Ja* |
| Externes Delta | Ja | Ja | Ja |
| Verwalteter Iceberg | Ja | Ja | Ja |
| Fremde Eisberge | Ja | No | No |
| Delta mit Iceberg-Lesevorgängen (UniForm) | Ja | Ja** | No |
* Das Erstellen von und Schreiben in verwaltete Tabellen im Unity-Katalog mithilfe von Delta-Clients befindet sich in der Betaversion.
Führen Sie MSCK REPAIR TABLE aus, nachdem Sie extern in eine UniForm-Tabelle von einem Delta-Client geschrieben haben, um Iceberg-Metadaten zu generieren.
Hinweis
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.
Anfordern einer temporären Tabellenanmeldeinformation für den Zugriff auf externe Daten
Die Unterstützung beim Verkauf von Anmeldeinformationen variiert je nach externem Client. Wenn 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 "Authorization: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-table-credentials \
-d '{"table_id": "<string>", "operation": "<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.
- 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 Delta Lake Featurekompatibilität und Protokolle.
- 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 Deltafreigabe freigegeben werden.
- Ansichten.
- Materialisierte Ansichten.
- Lakeflow Spark Declarative Pipelines Streaming-Tabellen.
- Onlinetabellen.
- Vektorsuchindizes.
- Die Aktualisierung von Anmeldeinformationen wird auf Iceberg 1.9.0 nicht unterstützt. Verwenden Sie die neueste Iceberg-Version für die Aktualisierung der Anmeldeinformationen.
Anmeldeinformationen-Ausgabeweg
Ausgestellte Anmeldeinformationen erlauben direkten Zugriff auf den Cloud-Speicherort und beschränken sich auf den relevanten Pfad. Sie sind für einen begrenzten Zeitraum gültig und gewähren keinen umfassenderen Zugriff über den definierten Speicherort oder die definierte Tabelle hinaus.
Anfordern von temporären Pfadanmeldeinformationen für den Zugriff auf externe Daten
Die Unterstützung beim Verkauf von Anmeldeinformationen variiert je nach externem Client. Wenn 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.
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 "Authorization: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-path-credentials \
-d '{"url": "<string>", "operation": <PATH_READ|PATH_READ_WRITE|PATH_CREATE_TABLE>"}'
Ausführliche Informationen finden Sie unter Generate a temporary path credential in the Azure Databricks REST API reference.
Volumenanmeldeinformationsautomaten
Wichtig
Dieses Feature befindet sich in der Public Preview.
Die Bereitstellung von Anmeldeinformationen für Volumes ermöglicht externen Engines den Zugriff auf Dateien, die in Volumes im Unity Catalog gespeichert sind, und zwar mit temporären Anmeldeinformationen mit begrenztem Geltungsbereich. Der anfordernde Prinzipal muss über EXTERNAL USE SCHEMA für das Schema verfügen, das das Volume enthält, sowie über READ VOLUME für Lesezugriff oder READ VOLUME und WRITE VOLUME für Schreibzugriff. Weitere Informationen finden Sie unter Was sind Unity Catalog-Volumes?.
Unity Catalog überprüft Berechtigungen und gibt kurzlebige, bereichsbezogene Cloudspeicheranmeldeinformationen zurück, die an den Speicherpfad des Volumes gebunden sind. Anmeldeinformationen laufen automatisch ab und gewähren keinen Zugriff über das angegebene Volumen hinaus.
Anforderungen
- Der externe Zugriff muss im Metastore aktiviert sein. Siehe Aktivieren des externen Datenzugriffs im Metastore.
- Der anfordernde Prinzipal muss über
EXTERNAL USE SCHEMAfür das Schema verfügen, das das Volume enthält, sowie überREAD VOLUMEfür Lesezugriff oder überREAD VOLUMEundWRITE VOLUMEfür Schreibzugriff. - Das externe Modul muss die Arbeitsbereichs-URL erreichen können.
- Auf Cloudspeicher-URLs muss über Firewall- und Netzwerksteuerelemente zugegriffen werden.
Temporäre Volume-Zugangsdaten für den Zugriff auf externe Daten anfordern
Im folgenden curl Beispiel wird explizit eine temporäre Anmeldeinformation für den externen Datenzugriff angefordert.
curl -X POST -H "Authorization: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.0/unity-catalog/temporary-volume-credentials \
-d '{"volume_id": "<volume-id>", "operation": "<READ_VOLUME|WRITE_VOLUME>"}'
Oder verwenden Sie das Azure Databricks Python SDK:
from databricks.sdk.service.catalog import VolumeOperation
creds = w.temporary_volume_credentials.generate_temporary_volume_credentials(
volume_id=volume_id,
operation=VolumeOperation.READ_VOLUME,
)
Ausführliche Informationen finden Sie unter POST /api/2.0/unity-catalog/temporary-volume-credentials in der Azure Databricks REST-API-Referenz.
Einschränkungen
- Verwaltete Volumes werden nur für den Lesezugriff unterstützt. Externe Datenträger unterstützen Lese- und Schreibzugriff.