Freigeben über


Hinzufügen von Ressourcen zu einer Databricks-App

Ihre Databricks-Apps können in verschiedene Azure Databricks-Plattformfeatures integriert werden, z. B. Databricks SQL zum Abfragen von Daten, Lakeflow-Aufträge für die Datenaufnahme und -verarbeitung, Mosaik AI Model Serving für den Zugriff auf generative KI-Modelle und Azure Databricks-Geheimnisse zum Verwalten vertraulicher Informationen. Im Kontext von Apps werden diese Plattformfeatures als Ressourcen bezeichnet.

Warum Ressourcen verwenden?

Um Apps portabel und sicher zu halten, vermeiden Sie das Hartcodieren von Ressourcenkennungen. Konfigurieren Sie beispielsweise das SQL-Warehouse als Ressource über die Benutzeroberfläche von Databricks Apps, anstatt eine feste SQL Warehouse-ID in Ihren App-Code einzubetten.

Die Verwendung von Databricks-Apps-Ressourcen anstelle von direkten API-Aufrufen bietet mehrere Vorteile:

  • Verwaltet automatisch Anmeldeinformationen und Berechtigungen, wodurch die manuelle Tokenbehandlung in Ihrem Code beseitigt wird.
  • Behandelt Ressourcenpfade, Endpunkte und Verbindungsdetails automatisch.
  • Bietet sicheren, verwalteten Zugriff, anstatt selbstverwaltete Anmeldeinformationen für direkte API-Aufrufe zu erfordern.
  • Hält Apps ohne Codeänderungen zwischen Umgebungen portierbar.

Unterstützte Ressourcentypen

In der folgenden Tabelle sind alle Ressourcentypen aufgeführt, die Sie Ihrer Databricks-App hinzufügen können:

Ressourcentyp Description Standardressourcenschlüssel Verfügbare Berechtigungen
Genie Space KI-gestützte Analyseschnittstelle für Abfragen natürlicher Sprachen genie-space
  • Kann anzeigen
  • Kann ausgeführt werden
  • Kann bearbeiten
  • Kann verwalten
Lakebase-Datenbank Unity-Katalogdatenbank für Datenspeicherung und Abfrage database
  • Kann eine Verbindung herstellen und erzeugen
Lakeflow-Auftrag Datenaufnahme- und Verarbeitungsworkflows job
  • Kann anzeigen
  • Kann den Ablauf verwalten
  • Kann verwalten
MLflow-Experimente Nachverfolgen von Machine Learning Experimenten und Modelllebenszyklus-Management experiment
  • Kann lesen
  • Kann bearbeiten
  • Kann verwalten
Modell, das Endpunkt bedient Bereitstellung des Machine Learning-Modells für Rückschlussanforderungen serving-endpoint
  • Kann anzeigen
  • Kann abfragen
  • Kann verwalten
Geheimnis Sicherer Speicher für vertrauliche Werte wie API-Schlüssel und Token secret
  • Kann lesen
  • Kann schreiben
  • Kann verwalten
SQL-Warehouse Berechnen von Ressourcen für die Ausführung von SQL-Abfragen sql-warehouse
  • Verwenden
  • Kann verwalten
Unity-Katalogverbindung Verwaltete Verbindungen mit externen Datenquellen connection
  • Verbindung verwenden
Benutzerdefinierte Funktion Registrierte SQL- und Python-Funktionen im Unity-Katalog function
  • Kann ausgeführt werden
Unity-Katalogvolume Dateispeicher im Unity-Katalog für App-Artefakte und -Daten volume
  • Kann lesen
  • Kann lesen und schreiben
Vektorsuchindex Semantische Suche und Ähnlichkeitsbasiertes Abrufen aus Vektoreinbettungen vector-search-index
  • Kann auswählen

Voraussetzungen

Um einer App eine Ressource hinzuzufügen, müssen die folgenden Bedingungen erfüllt sein:

  • Die Ressource muss vorhanden sein.
  • Der Benutzer, der die Ressource hinzufügt, muss über die Berechtigung für die Can manage Ressource und die App verfügen.

Apps werden mit geringsten Berechtigungen ausgeführt und basieren auf vorhandenen Ressourcen innerhalb der Azure Databricks-Plattform. Bei der Bereitstellung greift der Dienstprinzipal der App auf diese Ressourcen zu und muss über die erforderlichen Berechtigungen verfügen, z. B. den Zugriff auf Tabellenebene für SQL-Abfragen oder lesezugriff auf geheime Schlüssel. Siehe Konfigurieren der Autorisierung in einer Databricks-App.

Konfigurieren von Ressourcen für Ihre App

Ressourcen ermöglichen es Ihrer App, eine sichere Verbindung mit Diensten herzustellen, von denen sie abhängt, ohne dass vertrauliche oder umgebungsspezifische Werte hartcodiert werden.

Fügen Sie Ressourcen direkt auf der Benutzeroberfläche von Databricks-Apps hinzu, wenn Sie eine App erstellen oder bearbeiten.

  1. Wenn Sie eine App erstellen oder bearbeiten, navigieren Sie zum Schritt "Konfigurieren" .
  2. Klicken Sie im Abschnitt "App-Ressourcen " auf +Ressource hinzufügen.
  3. Wählen Sie den Ressourcentyp aus, den Sie hinzufügen möchten.
  4. Legen Sie die Berechtigungen für den App-Dienstprinzipal für die Ressource fest.
  5. Weisen Sie der Ressource einen Schlüssel zu, und verweisen Sie auf diesen Schlüssel in Ihrer app.yaml Datei.

Hinzufügen eines SQL Warehouse als App-Ressource auf der Benutzeroberfläche

Verwalten des App-Zugriffs auf Ressourcen

Jede App verfügt über einen dedizierten Dienstprinzipal. Befolgen Sie diese bewährten Methoden, um den Zugriff sicher zu verwalten.

  • Verwenden Sie den Dienstprinzipal der Anwendung für die Authentifizierung. Hardcodieren Sie auf keinen Fall persönliche Zugriffstoken (PATs) in Ihrem Code. Zugriffsanmeldeinformationen werden automatisch als Umgebungsvariablen eingefügt:
    • DATABRICKS_CLIENT_ID
    • DATABRICKS_CLIENT_SECRET
  • Geben Sie die Anmeldeinformationen für den Service-Auftrag nicht an andere Anwendungen oder Benutzer weiter. Jede App sollte ihre eigenen dedizierten Anmeldeinformationen für Isolation und Sicherheit verwenden.
  • Wenden Sie den geringsten Berechtigungszugriff an. Gewähren Sie dem Service-Auftrag der App nur die minimal erforderlichen Berechtigungen. Beispiel:
    • Erteilen Sie CAN USE für ein SQL-Warehouse, wenn die App nur Abfragen ausführen soll.
    • Zuschuss CAN QUERY auf einem Serving-Endpunkt, wenn die Anwendung nur Inferenzanforderungen sendet.
    • Zuschuss SELECT or MODIFY auf Einheits-Katalog-Tabellen basierend auf den Datenzugriffsanforderungen der App.

Nächste Schritte

Nachdem Sie Ihrer App Ressourcen hinzugefügt haben, verweisen Sie auf diese Ressourcen im env Abschnitt Ihrer App-Konfiguration mithilfe des valueFrom Felds. Anweisungen finden Sie unter Definieren von Umgebungsvariablen in einer Databricks-App.