Freigeben über


Konfigurieren von Netzwerken für Databricks-Apps

Databricks-Apps unterstützen fein abgestimmte Netzwerksteuerung, um Ihnen zu helfen, die Kommunikation Ihrer App mit dem Internet und internen Ressourcen zu sichern und zu verwalten. Sie können sowohl eingehende als auch ausgehende Datenverkehrsregeln mithilfe einer Kombination aus IP-Zugriffslisten, privater Front-End-Konnektivität und Netzwerk-Richtlinien konfigurieren.

Netzwerkarchitektur

Azure Databricks stellt Apps auf der serverlosen Computeebene bereit, in der sie direkt Datenverkehr empfangen. Dies ähnelt anderen routenoptimierten Diensten wie Model Serving und Vector Search.

Der Verbindungsvorgang funktioniert wie folgt:

  1. Anfängliche Benutzeranforderungen an eine Azure Databricks-App initiieren die OAuth-Authentifizierung mit der Kontrollebene, um die Sitzung zu überprüfen und den Zugriff auf die App zu autorisieren.
  2. Bei erfolgreicher Authentifizierung werden alle nachfolgenden Anforderungen direkt an die serverlose Computeebene weitergeleitet, ohne die Steuerungsebene zu durchlaufen.

Netzwerksicherheitsrichtlinien, die für die serverlose Computeebene konfiguriert sind, gelten für Databricks Apps-Datenverkehr. Dazu gehören IP-Zugriffslisten und Konfigurationen für private Front-End-Verbindungen.

Ingress-Steuerelemente

Verwenden Sie die folgenden Features, um den Zugriff auf Ihren Azure Databricks-Arbeitsbereich und Ihre Apps aus dem öffentlichen Internet zu beschränken.

  • IP-Zugriffslisten: Beschränken Sie den Arbeitsbereichs- und App-Zugriff auf bekannte und vertrauenswürdige IP-Bereiche, indem Sie IP-Zugriffslisten auf Arbeitsbereichsebene aktivieren. Nur Datenverkehr aus den konfigurierten IP-Bereichen ist zulässig. Ausführliche Informationen finden Sie unter Konfigurieren von IP-Zugriffslisten für Arbeitsbereiche.
  • Private Front-End-Konnektivität: Leiten Sie den Datenverkehr über eine Azure Private Link-Verbindung weiter, um sicher auf Apps über Ihr VNet zuzugreifen.

    Sie müssen die bedingte DNS-Weiterleitung für die databricksapps.com Domäne konfigurieren, um die ordnungsgemäße Namensauflösung über Ihre private Verbindung sicherzustellen. Andernfalls werden DNS-Abfragen für die Domäne Ihrer App möglicherweise anstelle des privaten Endpunkts in öffentliche IP-Adressen aufgelöst. Anweisungen zum Einrichten finden Sie unter Konfigurieren des privaten Front-End-Links.

Egress-Kontrollen

Um ausgehenden Datenverkehr von Ihrer App zu steuern, erstellen Sie eine Netzwerkkonnektivitätskonfiguration (Network Connectivity Configuration, NCC), und wenden Sie Netzwerkrichtlinien auf den Arbeitsbereich an, in dem die App gehostet wird.

Netzwerkkonnektivitätskonfigurationen

Verwenden Sie eine Netzwerkkonnektivitätskonfiguration , um Ihre App sicher mit Azure-Diensten zu verbinden. NCCs bieten stabile Subnetz-IDs, die Sie einer Speicherkontofirewall hinzufügen können, um den Zugriff von Ihrer App und anderen serverlosen Berechnungen explizit zuzulassen.

Um den Ausgehenden Datenverkehr zu privaten Zielen weiter einzuschränken, konfigurieren Sie serverlose private Endpunkte für Azure-Ressourcen oder leiten Den Datenverkehr über ein Azure-Lastenausgleichsmodul in Ihrem VNet weiter.

Netzwerkrichtlinien

Verwenden Sie Netzwerkrichtlinien , um Ausgangsbeschränkungen für Databricks-Apps und andere serverlose Workloads zu erzwingen. Dies ist nützlich, wenn Sie die Organisations- oder Complianceanforderungen für die Steuerung der ausgehenden Konnektivität erfüllen müssen.

Hinweis

Netzwerkrichtlinien sind nur auf der Premium-Stufe verfügbar.

Wenden Sie eine Netzwerkrichtlinie an, wenn Ihre App:

  • Muss den Zugriff auf eine bestimmte Gruppe genehmigter externer Domänen einschränken
  • Muss versehentliche Datenexfiltration verhindern
  • Muss Sicherheits- oder Compliancestandards einhalten, die ausgehenden Internetdatenverkehr einschränken

Bewährte Methoden zum Konfigurieren von Netzwerkrichtlinien

Befolgen Sie diese Richtlinien, um unbeabsichtigte Unterbrechungen zu vermeiden und sicherzustellen, dass Ihre Apps auf erforderliche Ressourcen zugreifen können:

  • Nur erforderliche Ziele zulassen. Fügen Sie vollqualifizierte Domänennamen (FQDNs) für öffentliche oder private Ressourcen hinzu, die Ihre App benötigt.
  • Schließen Sie paketrepositorys nach Bedarf ein. Wenn Ihre App öffentliche Python- oder Node.js-Pakete installiert, können Sie Domänen wie pypi.org Python oder registry.npmjs.org Node zulassen. Ihre Anwendung erfordert je nach Ihren spezifischen Abhängigkeiten möglicherweise zusätzliche oder unterschiedliche Domänen. Ohne diese Repositorys könnten App-Builds, die auf requirements.txt oder package.json basieren, fehlschlagen.
  • Verwenden Sie den Trockenlaufmodus, um Ihre Netzwerkrichtlinie zu überprüfen. In diesem Modus wird die Richtlinienerzwingung simuliert, ohne den Datenverkehr zu blockieren.
  • Überprüfen Sie die abgelehnten Verbindungsversuche mit der system.access.outbound_network Tabelle. Auf diese Weise können Sie Domänen identifizieren, die Sie möglicherweise zulassen müssen. Siehe "Denialprotokolle überprüfen".
  • Fügen Sie alle erforderlichen externen Domänen hinzu, z. B. vertrauenswürdige APIs oder Azure-Speicherkonten, die nicht im Unity-Katalog registriert sind.

Verschlüsselung und Datenverkehrsrouting

Databricks Apps verwendet dedizierte Routingpfade und mehrere Verschlüsselungsebenen, um die Netzwerkkommunikation zu sichern und Daten zu schützen.

Routing von Datenverkehr

Der Datenverkehr zwischen der Azure Databricks-Kontrollebene, der Computeebene, anderen Azure Databricks-Ressourcen und Clouddiensten wird über das globale Netzwerk des Cloudanbieters übertragen und durchläuft das öffentliche Internet nicht.

Datenverkehr zwischen Benutzern und databricksapps.com kann je nach Netzwerkstandort des Benutzers über das öffentliche Internet erfolgen. Um öffentliches Internetrouting zu vermeiden, konfigurieren Sie die private Front-End-Konnektivität.

Verschlüsselung während der Übertragung

Alle Netzwerkkommunikationen zu und von Apps werden verschlüsselt:

  • Benutzerverkehr: Die Kommunikation zwischen Benutzern und databricksapps.com, bei der die Transport Layer Security (TLS) 1.3-Verschlüsselung verwendet wird.
  • Steuerebenenverkehr: Die Kommunikation zwischen der Azure Databricks-Steuerebene und der Compute-Ebene verwendet gegenseitiges TLS (mTLS) für Verwaltungsvorgänge, einschließlich der Erstellung, Aktualisierung und Löschung von Apps.

Verschlüsselung ruhender Daten

Databricks Apps verschlüsselt gespeicherte Daten mithilfe der folgenden Methoden:

  • Anwendungscode: Azure Databricks speichert App-Code in Arbeitsbereichsdateien und verwendet dieselbe Verschlüsselung wie Notizbücher und andere Arbeitsbereichsdateien.
  • Computespeicher: Apps verwenden kurzlebige Hostbetriebssystemdatenträger, die mit AES-256 und der Standardverschlüsselungsimplementierung des Cloudanbieters verschlüsselt sind.