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.
Fügen Sie Unity-Katalogtabellen als Databricks-Apps-Ressourcen hinzu, damit Ihre App Daten abfragen und ändern kann, die im Unity-Katalog mit Governance und Zugriffssteuerung gespeichert sind. Unity Catalog-Tabellen bieten strukturierten Datenspeicher mit differenzierten Berechtigungen, sodass Ihre App Daten ohne Hartcodierungsanmeldeinformationen sicher lesen und schreiben kann.
Berechtigungsanforderungen
Um auf eine Unity-Katalogtabelle zuzugreifen, muss der Dienstprinzipal der App über die USE CATALOG-Berechtigung für den übergeordneten Katalog, die USE SCHEMA-Berechtigung für das übergeordnete Schema und die SELECT- oder MODIFY-Berechtigung für die Tabelle verfügen. Wenn Sie die Tabellenressource hinzufügen, gewährt Azure Databricks der Serviceprincipal der App automatisch diese Berechtigungen.
Damit diese automatische Gewährung erfolgreich ausgeführt werden kann, muss für jede Berechtigung eine der folgenden Bedingungen erfüllt sein:
- Entweder haben alle Kontobenutzer das
USE CATALOG-Privileg im Katalog, oder Sie haben das -Privileg im Katalog. -
Für
USE SCHEMA: Entweder haben alle Kontobenutzer dasUSE SCHEMA-Privileg für das Schema, oder Sie haben dasMANAGE-Privileg für das Schema. - Für
SELECToderMODIFY: Entweder verfügen alle Kontobenutzer über dieSELECT- oderMODIFY-Berechtigung für die Tabelle, oder Sie verfügen über dieMANAGE-Berechtigung für die Tabelle.
Weitere Informationen finden Sie unter Unity Catalog-Berechtigungen und sicherungsfähige Objekte.
Hinzufügen einer Unity-Katalogtabellenressource
Bevor Sie eine Tabelle als Ressource hinzufügen, überprüfen Sie die Voraussetzungen für die App-Ressource.
- Wenn Sie eine App erstellen oder bearbeiten, navigieren Sie zum Schritt "Konfigurieren" .
- Klicken Sie im Abschnitt "App-Ressourcen " auf +Ressource hinzufügen.
- Wählen Sie die UC-Tabelle als Ressourcentyp aus.
- Wählen Sie eine Unity-Katalogtabelle aus den verfügbaren Tabellen in Ihrem Arbeitsbereich aus. Die Tabelle muss bereits im Unity-Katalog vorhanden sein.
- Wählen Sie die entsprechende Berechtigungsstufe für Ihre App aus:
- Auswählen: Gewährt der App die Berechtigung zum Abfragen und Lesen von Daten aus der Tabelle. Dies ist für Apps geeignet, die nur Daten lesen müssen.
-
Ändern: Gewährt der App die Berechtigung zum Einfügen, Aktualisieren und Löschen von Daten in der Tabelle. Die Berechtigung impliziert
SELECT, sodass die App auch Daten lesen kann.
- (Optional) Geben Sie einen benutzerdefinierten Ressourcenschlüssel an, auf den Sie in der App-Konfiguration auf die Tabelle verweisen. Der Standardschlüssel ist
table.
Hinweis
MODIFY ist für alle Tabellentypen nicht verfügbar. Ansichten unterstützen z. B. nicht die MODIFY Berechtigung. Wenn MODIFY von der Tabelle nicht unterstützt wird, ist nur SELECT verfügbar.
Umgebungsvariablen
Wenn Sie eine App mit einer Unity Catalog-Tabellenressource bereitstellen, macht Azure Databricks den vollständigen dreistufigen Namen der Tabelle über Umgebungsvariablen verfügbar, auf die Sie mithilfe des valueFrom Felds verweisen können.
Beispielkonfiguration:
env:
- name: UC_TABLE_NAME
valueFrom: table # Use your custom resource key if different
Verwenden der Tabelle in Ihrer Anwendung:
import os
from databricks.sdk import WorkspaceClient
# Access the table name
table_name = os.getenv("UC_TABLE_NAME")
# Initialize workspace client
w = WorkspaceClient()
# Query the table using a SQL warehouse resource
result = w.statement_execution.execute_statement(
warehouse_id=os.getenv("DATABRICKS_WAREHOUSE_ID"), # Requires a SQL warehouse resource
statement=f"SELECT * FROM {table_name} LIMIT 10"
)
Weitere Informationen finden Sie unter Verwenden von Umgebungsvariablen für den Zugriff auf Ressourcen.
Entfernen einer Unity-Katalogtabellenressource
Wenn Sie eine Unity-Katalogtabellenressource aus einer App entfernen, verliert der Dienstprinzipal der App die Berechtigungen SELECT, MODIFY, und ALL PRIVILEGES für die Tabelle. Azure Databricks versucht auch, hierarchische Katalog- und Schemaberechtigungen zu widerrufen. Die Tabelle selbst bleibt unverändert und ist weiterhin für andere Benutzer und Anwendungen verfügbar, die über entsprechende Berechtigungen verfügen.
Bewährte Methoden
Beachten Sie Folgendes, wenn Sie mit Unity Catalog-Tabellenressourcen arbeiten:
- Erteilen Sie minimale Berechtigungen. Verwenden Sie
SELECTes sei denn, Ihre App muss Daten in die Tabelle schreiben. - Kombinieren Sie Tabellenressourcen mit einer SQL Warehouse-Ressource , wenn Ihre App SQL-Abfragen für die Tabelle ausführen muss.
- Verwenden Sie separate Tabellenressourcen für unterschiedliche Tabellen, anstatt breiten Zugriff auf Schemaebene zu gewähren, damit Sie das Prinzip der geringsten Berechtigungen anwenden können.
- Erwägen Sie die Verwendung von Unity-Katalogvolumes für unstrukturierte Daten und Unity-Katalogtabellen für strukturierte Daten.