Erweiterte Netzwerk-Verkehrsprotokolle

Important

Dieses Feature befindet sich in der privaten Vorschauphase. Wenden Sie sich an Ihren Azure Databricks-Kontakt, um es zu testen.

Erweiterte Netzwerkverkehrsprotokolle zeichnen ausgehenden Netzwerkverkehr von Azure Databricks serverless Compute auf. Standardmäßig erfasst die Systemtabelle der ausgehenden Netzwerkzugriffsereignisse nur die Anfragen, die von serverlosen Ausgangskontrollen verweigert werden. Bei erweiterten Netzwerkverkehrsprotokollen werden auch die erlaubten Anfragen erfasst, sodass du sehen kannst, wohin deine serverlosen Workloads eine Verbindung herstellen, und Verbindungsprobleme beheben.

Erweiterte Netzwerkverkehrsprotokolle fügen außerdem eine Flussprotokolltabelle hinzu, die aufzeichnet, welche Datenmenge von serverlosen Rechenressourcen an jede Ziel-IP-Adresse gesendet und von ihr empfangen wird. Die beiden Fähigkeiten verwenden folgende Systemtabellen:

Fähigkeit Systemtabelle Description
Erlaubte ausgehende Netzwerkzugriffsereignisse system.access.outbound_network Fügt ausgehende Anfragen zur bestehenden Tabelle der verweigerten Anfragen hinzu.
Protokolle des ausgehenden Datenverkehrs system.access.outbound_traffic Zeichnet Bytes auf, die pro Ziel-IP-Adresse gesendet und empfangen werden, aggregiert in Ein-Minuten-Intervallen.

Outbound-Traffic-Flow-Logs dokumentieren nur Verkehr, der über ein privates Netzwerk-Gateway geleitet wird.

Informationen zum Abfragen der Protokolle finden Sie unter Abfrage erweiterter Netzwerkverkehrsprotokolle.

Anwendungsfälle

Verwenden Sie erweiterte Netzwerkverkehrsprotokolle, um:

  • Untersuchen Sie Netzwerkaktivitäten: Sehen Sie, auf welche Ziele Ihre serverlosen Workloads zugegriffen haben, wann und aus welchem Workspace.
  • Verfeinere Netzwerkrichtlinien: Finde Ziele, die selten genutzt werden, und entscheide, ob du sie aus deinen serverlosen Egress-Zulassungslisten streichst.
  • Fehlerbehebung der Konnektivität: Bestimmen Sie, ob serverlose Egress-Kontrollen eine Anfrage erlaubt oder abgelehnt haben.
  • Untersuchen Sie die Netzwerkkosten: Identifizieren Sie regionsübergreifende, Internet- und private Ziele, die von serverlosen Workloads erreicht werden.
  • Optimieren Sie die Speicherkonnektivität: Finden Sie häufig genutzte Speicherziele, die von privater Konnektivität profitieren könnten oder sich in derselben Region wie Ihre Arbeitslasten befinden.
  • Messen Sie den Datenverkehr: Sehen Sie, wie viel Datenverkehr serverless Compute über ein privates Netzwerk-Gateway an jedes Ziel sendet und von jedem Ziel empfängt.
  • Ungewöhnliche Aktivitäten erkennen: Ziele mit unerwartet hohem Verkehrsaufkommen finden.

Funktionsweise

Erlaubte Netzwerkzugriffsereignisse

Erweiterte Netzwerkverkehrsprotokolle fügen system.access.outbound_network Ereignisse zur bestehenden ALLOWED Tabelle hinzu. Diese Tabelle zeichnet ausgehende Netzwerkzugriffsereignisse von serverlosen Arbeitslasten auf, einschließlich SQL-Warehouses, Jobs, Lakeflow-Pipelines, Databricks-Apps und Model Serving Endpunkten. Erlaubte Events umfassen Anfragen an Cloud-Speicher, Internetziele und Ressourcen, die über private Verbindungen erreicht werden. Für das vollständige Tabellenschema siehe Systemtabellenreferenz für Netzwerkzugriffsereignisse.

Die Spalte access_type zeigt das Ergebnis jedes Ereignisses an:

Wert Description
ALLOWED Ausgehender Netzwerkzugang war erlaubt. Nur verfügbar mit erweiterten Netzwerkverkehrsprotokollen.
DROP Ausgehender Netzwerkzugriff wurde durch Serverless-Egress-Kontrollen im erzwungenen Modus verweigert.
DRY_RUN_DENIAL Ausgehender Netzwerkzugriff wäre durch serverlose Egress-Kontrollen verweigert worden, war jedoch erlaubt, da sich die Richtlinie im Dry-Run-Modus befand.

Die für eine Anfrage aufgezeichneten Werte access_type und destination_type hängen vom Ziel und dem Serverless-Egress-Policy-Modus ab:

Netzwerkanfrage Uneingeschränkter Ausgang Trockenlaufmodus Erzwingungsmodus
Erlaubter Speicherzugriff ALLOWED / DNS Nicht angemeldet ALLOWED / STORAGE
Speicherzugriff, der gegen die Richtlinie verstößt Nicht anwendbar DRY_RUN_DENIAL / DNS DROP / STORAGE
Zugriff auf VNet-Ressourcen erlaubt ALLOWED / DNS ALLOWED / DNS ALLOWED / DNS
Zugriff auf VNet-Ressourcen, der gegen die Richtlinie verstößt Nicht anwendbar DRY_RUN_DENIAL / DNS DROP / DNS
Erlaubter Internetzugang ALLOWED / DNS ALLOWED / DNS ALLOWED / DNS
Internetzugang, der gegen die Richtlinie verstößt Nicht anwendbar DRY_RUN_DENIAL / DNS DROP / DNS

Für erlaubte DNS Ereignisse, destination enthält den Domain- oder Speicher-Hostnamen. Für erlaubte STORAGE Ereignisse, destination enthält den Speicher-Hostnamen und den Pfad. Die aufgelösten Ziel-IP-Adressen sind in dns_event.rdata oder storage_event.rdata. Diese Felder sind für verweigerte Ereignisse leer.

Protokolle des ausgehenden Datenverkehrs

Die Tabelle system.access.outbound_traffic erfasst aggregierte Verkehrsvolumina, nicht einzelne Anfragen. Azure Databricks gruppiert den Verkehr in feste Ein-Minuten-Intervalle, die an einer Minutengrenze beginnen und enden. Innerhalb jedes Intervalls wird der Datenverkehr mit demselben Arbeitsbereich, derselben Ziel-IP-Adresse und Verbindungsmethode zu einem Datensatz kombiniert, wobei die gesendeten und empfangenen Bytes summiert werden.

Zum Beispiel erzeugt der Verkehr zwischen 12:05:00 und 12:06:00 einen Datensatz mit period_start_time = 12:05:00 und period_end_time = 12:06:00. Die Startzeit ist inklusiv und die Endzeit exklusiv. Diese Zeitstempel markieren die Intervallgrenzen, nicht die Zeiten des ersten und des letzten Pakets. Intervalle ohne Verkehr erzeugen keine Datensätze.

Die system.access.outbound_traffic Tabelle weist das folgende Schema auf:

Spalte Datentyp Description
event_id string Eindeutige Kennung für den aggregierten Verkehrsdatensatz.
account_id string ID des Azure Databricks-Kontos, von dem der Datenverkehr stammt.
workspace_id string ID des Arbeitsbereichs, von dem der Datenverkehr stammt.
destination_ip string Ziel-IP-Adresse
received_bytes bigint Gesamtzahl der von serverloser Rechenkapazität während des Intervalls empfangenen Bytes.
sent_bytes bigint Gesamtzahl der Bytes, die während des Intervalls von serverlosem Computing gesendet wurden.
connection_type string Art der verwendeten Konnektivität. Der Wert ist PRIVATE.
connection_method string Verwendete Verbindungsmethode. Der Wert ist PRIVATE_NETWORK_GATEWAY.
period_start_time timestamp Einschließlich des Beginns des einminütigen Intervalls.
period_end_time timestamp Exklusives Ende des einminütigen Intervalls.

Wie die Tabellen zusammenhängen

system.access.outbound_network zeigt Ihnen den Ziel-Hostnamen oder den Speicherort einer Anfrage an. system.access.outbound_traffic zeigt dir die Ziel-IP-Adresse, die Verbindungsmethode und die Anzahl der übertragenen Bytes.

Um sie zu korrelieren, gleichen Sie die Konto-ID, die Arbeitsbereichs-ID und die aufgelöste Ziel-IP-Adresse ab und prüfen Sie, ob der event_timeZeitstempel des Zugriffsereignisses im Intervall des Flow-Logs liegt. Die beiden Tabellen haben unabhängige event_id-Werte, also führe keinen Join über event_id durch.

Diese Übereinstimmungen sind auf IP-Adresse und Zeit basierende Korrelationen. Sie verknüpfen kein Zugriffsereignis mit einer bestimmten Netzwerkverbindung. Wenn mehrere Hostnamen auf dieselbe IP-Adresse aufgelöst werden, stimmt jeder Hostname mit denselben Flow-Datensätzen überein.

Einschränkungen

Erweiterte Netzwerk-Verkehrsprotokolle haben folgende Einschränkungen:

  • Erlaubte Ereignisse werden für externe Modellzugriffe von Model Serving Endpunkten nicht protokolliert.
  • Erlaubte Ereignisse werden nicht für Speicherzugriff aus Arbeitsbereichen protokolliert, deren serverlose Egress-Kontrollen im Trockenlaufmodus sind.
  • Ereignisse bei zulässigem Zugriff werden nicht für den Zugriff auf den internen Speicher des Arbeitsbereichs protokolliert, wie etwa MLflow- und dbt-Artefakte.
  • Erlaubte Ereignisse werden nicht für den Zugriff auf den OpenSharing-Provider-Speicher protokolliert.
  • Zugelassener Netzwerkverkehr von Workloads, die weniger als etwa eine Minute laufen, wird seltener protokolliert, insbesondere bei geplanten, nicht-interaktiven Workloads und Arbeitsbereichen mit uneingeschränkten Ausgangsrichtlinien.
  • Outbound-Traffic-Flow-Logs dokumentieren nur Verkehr, der über ein privates Netzwerk-Gateway geleitet wird. Verkehr, der andere private Verbindungen oder öffentlichen Internet-Egress nutzt, wird nicht protokolliert.
  • Outbound-Traffic-Flow-Logs zeichnen keinen Datenverkehr von Agent Bricks, Unity Gateway oder Git-Ordnern auf.

Diese Einschränkungen beeinflussen nicht, wie serverless-Egress-Kontrollen durchgesetzt werden oder wie abgelehnte Anfragen protokolliert werden.

Häufig gestellte Fragen

Die folgenden Fragen behandeln häufiges Verhalten, das man in erweiterten Netzwerk-Verkehrsprotokollen sehen kann.

Brauche ich serverlose Egress-Kontrollen, um erweiterte Netzwerk-Traffic-Logs zu verwenden?

No. Erlaubte ausgehende Netzwerkzugriffsereignisse werden auch für Arbeitsbereiche mit uneingeschränkten serverlosen Egress-Richtlinien aufgezeichnet.

Warum erscheinen Netzwerkzugriffsereignisse, nachdem ein Workload abgeschlossen ist?

Azure Databricks kann weiterhin auf den Speicher zugreifen, nachdem eine Arbeitslast abgeschlossen ist, zum Beispiel um Delta-Protokolle oder Metadaten zu pflegen. Diese Anfragen können Netzwerkzugriffsereignisse erzeugen, wenn keine Benutzer-Workloads laufen. Die Ereignisse stoppen, nachdem die serverlose Compute-Instanz beendet wurde.

Warum sehe ich unbekannte Hostnamen in meinen Netzwerkzugriffsprotokollen?

Einige protokollierte Ziele sind von Azure Databricks verwaltete Ressourcen, die für Plattformoperationen verwendet werden:

Hostname-Muster Purpose
databricks-prewarm-datasets* Verbessert die Startzeiten für serverlose Recheninstanzen.
dbstorage* Azure Databricks-Standardspeicher
jaeger-collector-privileged-worker* Systemzustandsverfolgung.
system-tables* Zugriff auf Standard-Beispieldatensätze.

Wenn du andere Hostnamen siehst, die du nicht kennst, kontaktiere dein Azure Databricks-Kontoteam.

Wie lange dauert es, bis Protokolle zum Netzwerkverkehr angezeigt werden?

Die meisten ausgehenden Netzwerkzugriffsereignisse treten innerhalb von 15 Minuten nach der Anfrage auf. Die Latenz kann variieren, und Azure Databricks bietet für diese Protokolle keine Latenz-Service-Level-Vereinbarung (SLA) an.

Warum finde ich kein passendes Flow-Log für ein erlaubtes Netzwerkzugriffsereignis?

Flow-Logs zeichnen nur den Verkehr auf, der über ein privates Netzwerk-Gateway geleitet wird, sodass zulässige Anfragen, die andere Verbindungen nutzen, kein passendes Flow-Log haben. Ein fehlendes Flow-Log bedeutet nicht, dass die Anfrage fehlgeschlagen ist oder dass keine Daten übertragen wurden.