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.
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.