Rohe Logs in einen selbstverwalteten Google Cloud Storage-Bucket exportieren
Mit der Data Export API können Sie Ihre Sicherheitsdaten im Bulk aus Google Security Operations in einen von Ihnen verwalteten Google Cloud Storage-Bucket exportieren. Diese Funktion unterstützt die kritische, langfristige Datenaufbewahrung, die forensische Analyse von Verlaufsdaten und strenge Compliance-Anforderungen (z. B. SOX und DSGVO).
Detaillierte Informationen zur API-Referenz finden Sie unter Data Export API (erweitert).
Die Data Export API bietet eine skalierbare und zuverlässige Lösung für Datenexporte zu einem bestimmten Zeitpunkt und verarbeitet Anfragen von bis zu 100 TB.
Als verwaltete Pipeline bietet sie wichtige Funktionen auf Unternehmensniveau, darunter:
- Automatische Wiederholungsversuche bei vorübergehenden Fehlern
- Umfassendes Monitoring des Jobstatus
- Ein vollständiger Audit-Trail für jeden Exportjob
Die API partitioniert die exportierten Daten logisch nach Datum und Uhrzeit in Ihrem Google Cloud Storage-Bucket.
Mit dieser Funktion können Sie umfangreiche Workflows zur Datenübertragung erstellen. Google SecOps verwaltet die Komplexität des Exportvorgangs, um Stabilität und Leistung zu gewährleisten.
Hauptvorteile
Die Data Export API bietet eine robuste und prüfbare Lösung für die Verwaltung des Lebenszyklus Ihrer Sicherheitsdaten mit den folgenden Hauptvorteilen:
- Zuverlässigkeit: Der Dienst verarbeitet umfangreiche Datenübertragungen. Das System verwendet eine exponentielle Backoff-Strategie, um Exportjobs, bei denen vorübergehende Probleme auftreten (z. B. temporäre Netzwerkprobleme), automatisch zu wiederholen. Dadurch ist es widerstandsfähig. Wenn Ihr Exportjob aufgrund eines vorübergehenden Fehlers fehlschlägt, wird er automatisch mehrmals wiederholt. Wenn ein Job nach allen Wiederholungsversuchen dauerhaft fehlschlägt, wird sein Status auf
FINISHED_FAILUREaktualisiert und die API-Antwort für diesen Job enthält eine detaillierte Fehlermeldung, in der die Ursache erläutert wird. Umfassende Prüfbarkeit: Um strenge Compliance- und Sicherheitsstandards zu erfüllen, erfasst das System jede Aktion im Zusammenhang mit einem Exportjob in einem unveränderlichen Audit-Trail. Dieser Pfad umfasst die Erstellung, den Start, den Erfolg oder das Fehlschlagen jedes Jobs sowie den Nutzer, der die Aktion initiiert hat, einen Zeitstempel und die Jobparameter.
Optimiert für Leistung und Skalierung: Die API verwendet ein robustes Jobverwaltungssystem. Dieses System umfasst Warteschlangen und Priorisierung, um die Plattformstabilität zu gewährleisten und zu verhindern, dass ein einzelner Mandant Ressourcen monopolisiert.
Verbesserte Datenintegrität und -zugänglichkeit: Das System organisiert Daten automatisch in einer logischen Verzeichnisstruktur in Ihrem Google Cloud Storage-Bucket. So können Sie bestimmte Zeitfenster für historische Analysen leichter finden und abfragen.
Sicherheit: Die API ist so konzipiert, dass sie vollständig mit kundenverwalteten Verschlüsselungsschlüsseln (CMEK) (Zero-Trust-Sicherheit) und rollenbasierter Zugriffssteuerung (RBAC) für Daten (Zugriff mit geringsten Berechtigungen) kompatibel ist. Exportjobs übernehmen den Datensichtbarkeitsbereich des Nutzers, der die Anfrage auslöst, um eine unbefugte Datenextraktion zu verhindern. Die Exportpipeline ist außerdem vollständig in den Google Cloud Key Management Service eingebunden. Die Daten bleiben in Ihrem Google Cloud Storage-Bucket mit Ihren eigenen Schlüsseln im Ruhezustand verschlüsselt.
Wichtige Begriffe und Konzepte
- Exportjob: Ein einzelner, asynchroner Vorgang zum Exportieren eines bestimmten Zeitraums von Protokolldaten in einen Google Cloud Storage-Bucket. Das System verfolgt jeden Job mit einer eindeutigen
dataExportId. - Jobstatus: der aktuelle Status eines Exportjobs in seinem Lebenszyklus (z. B.
IN_QUEUE,PROCESSING,FINISHED_SUCCESS). - Google Cloud Storage-Bucket: Ein nutzereigener Google Cloud Storage-Bucket, der als Ziel für die exportierten Daten dient.
- Logtypen: Die spezifischen Kategorien von Logs, die Sie exportieren können (z. B.
NIX_SYSTEM,WINDOWS_DNS,CB_EDR). Weitere Informationen finden Sie in der Liste aller unterstützten Logtypen.
Struktur der exportierten Daten
Wenn ein Job erfolgreich abgeschlossen wurde, schreibt das System die Daten in Ihren Google Cloud Storage-Bucket. Es wird eine bestimmte, partitionierte Verzeichnisstruktur verwendet, um den Datenzugriff und die Abfrage zu vereinfachen.
Verzeichnispfadstruktur: gs://GCS_BUCKET_NAME/
EXPORT_JOB_NAME/LOGTYPE/EVENT_TIME_BUCKET/EPOCH_EXECUTION_TIME/FILE_SHARD_NAME.csv
Wobei:
- GCS_BUCKET_NAME: bezieht sich auf den Namen Ihres Google Cloud Storage-Bucket.
- EXPORT_JOB_NAME: bezieht sich auf den eindeutigen Namen Ihres Exportjobs.
- LOGTYPE: bezieht sich auf den Namen des Logtyps für die exportierten Daten.
- EVENT_TIME_BUCKET: bezieht sich auf den Stundenbereich der Ereigniszeitstempel der exportierten Logs. Das Format ist ein UTC-Zeitstempel:
year/month/day/UTC-timestamp, wobeiUTC-timestampfürhour/minute/secondsteht.2025/08/25/01/00/00bezieht sich beispielsweise aufUTC 01:00:00 AM, August 25, 2025. - EPOCH_EXECUTION_TIME: bezieht sich auf den Unix-Epochenzeitwert, der angibt, wann der Exportjob begonnen hat.
- FILE_SHARD_NAME: bezieht sich auf den Namen der fragmentierten Dateien, die Rohlogs enthalten. Für jeden Dateishard gilt eine maximale Dateigröße von 100 MB.
Leistung und Einschränkungen
Für den Dienst gelten die folgenden spezifischen Limits, um die Plattformstabilität und eine faire Ressourcenzuweisung zu gewährleisten:
- Maximales Datenvolumen pro Job: Für jeden einzelnen Exportjob können bis zu 100 TB Daten angefordert werden. Bei größeren Datasets empfiehlt Google, den Export in mehrere Jobs mit kleineren Zeiträumen aufzuteilen.
- Gleichzeitige Jobs: Jeder Kundenmandant kann maximal drei Exportjobs gleichzeitig ausführen oder in die Warteschlange stellen. Das System lehnt jede neue Anfrage zur Joberstellung ab, die dieses Limit überschreitet.
- Jobabschlusszeiten: Das Volumen der exportierten Daten bestimmt die Jobabschlusszeiten. Ein einzelner Job kann bis zu 18 Stunden dauern.
- Exportformat und Datenumfang: Die API unterstützt Bulk-Exporte zu einem bestimmten Zeitpunkt mit den folgenden Einschränkungen und Funktionen:
- Nur Rohlogs: Sie können nur Rohlogs exportieren (keine UDM-Logs, UDM-Ereignisse oder Erkennungen). Informationen zum Exportieren von UDM-Daten finden Sie unter In ein selbstverwaltetes BigQuery-Projekt exportieren.
- Datenkomprimierung: Die API exportiert Daten als unkomprimierten Text.
Voraussetzungen und Architektur
In diesem Abschnitt werden die Systemarchitektur und die erforderlichen Voraussetzungen für die Verwendung der Data Export API beschrieben. Außerdem wird die Systemarchitektur im Detail erläutert. Anhand dieser Informationen können Sie prüfen, ob Ihre Umgebung richtig konfiguriert ist.
Bevor Sie die Data Export API verwenden können, müssen Sie die folgenden erforderlichen Schritte ausführen, um Ihr Google Cloud Storage-Ziel einzurichten und die erforderlichen Berechtigungen zu gewähren:
Dem Nutzer Berechtigungen gewähren Wenn Sie die Data Export API verwenden möchten, benötigen Sie die folgenden Berechtigungen im BYOP Google Cloud -Projekt, das mit Ihrem Google SecOps-Mandanten verknüpft ist:
- chronicle.dataExports.fetchServiceAccountForDataExport
- chronicle.dataExports.create
- chronicle.dataExports.cancel
- chronicle.dataExports.get
- chronicle.dataExports.list
Diese Berechtigungen sind Teil der folgenden vordefinierten IAM-Rollen:
- Chronicle API Admin: Gewährt vollständige Berechtigungen zum Erstellen, Aktualisieren, Abbrechen und Aufrufen von Exportjobs über die API. Diese Rolle gewährt globalen Zugriff.
- Chronicle API-Betrachter: Gewährt Lesezugriff, um Jobkonfigurationen und den Verlauf über die API aufzurufen. Ohne die Rolle
restrictedDataAccesskann ein Nutzer mit dieser Rolle alle Daten sehen (siehe Schritt + Weitere Rolle hinzufügen und Bedingung hinzufügen).
Daten-RBAC-Bereiche auf einen Nutzer anwenden So beschränken Sie einen Nutzer auf bestimmte Datenzugriffsbereiche:
- Die Daten-RBAC-Bereiche, die Sie anwenden möchten, müssen bereits in der Google SecOps-Benutzeroberfläche unter Einstellungen > SIEM-Einstellungen > Datenzugriff > Bereiche erstellt worden sein. Notieren Sie sich den vollständigen Namen jedes Bereichs, den Sie dem Nutzer zuweisen möchten.
Erstellen Sie eine benutzerdefinierte IAM-Rolle (Identity and Access Management) für die Verwaltung des Datenexports. Da vordefinierte Rollen möglicherweise zu viele Zugriffsrechte gewähren oder nicht die spezifische Kombination von Berechtigungen enthalten, gehen Sie so vor, um eine benutzerdefinierte Rolle zu erstellen, die auf die Verwaltung von Datenexporten in einem begrenzten Kontext zugeschnitten ist:
- Rufen Sie in der Google Cloud Console IAM & Verwaltung > Rollen auf.
- Klicken Sie auf + Rolle erstellen.
- Geben Sie einen Titel ein (z. B.
SecOps Scoped Data Export User). - Geben Sie eine ID ein (z. B.
secopsScopedDataExportUser). - Klicken Sie auf + Berechtigungen hinzufügen.
- Filtern Sie nach Chronicle-Berechtigungen und fügen Sie die relevanten Berechtigungen hinzu, die im ersten Schritt (Dem API-Nutzer Berechtigungen gewähren) aufgeführt sind.
- Klicken Sie auf Erstellen.
Weisen Sie dem Nutzer IAM-Rollen zu. Führen Sie auf der IAM-Seite die folgenden Schritte aus, um dem Nutzer die erforderlichen Rollen zuzuweisen:
- Rufen Sie IAM & Verwaltung > IAM auf.
- Klicken Sie auf + Zugriff gewähren.
- Geben Sie unter Neue Hauptkonten die E-Mail-Adresse des Nutzers ein.
So weisen Sie Rollen zu:
- Fügen Sie die von Ihnen erstellte benutzerdefinierte Rolle hinzu (z. B.
SecOps Scoped Data Export User). - Klicken Sie auf + Weitere Rolle hinzufügen und fügen Sie die Rolle Chronicle API Restricted Data Access (
restrictedDataAccess) hinzu. Diese Rolle ist wichtig, um den Nutzer als den Datenbereichen unterliegend zu kennzeichnen.
- Fügen Sie die von Ihnen erstellte benutzerdefinierte Rolle hinzu (z. B.
Fügen Sie der Rollenbindung
Chronicle API Restricted Data Accesseine IAM-Bedingung hinzu. So verknüpfen Sie den Nutzer mit bestimmten Datenbereichen:- Klicken Sie auf IAM-Bedingung hinzufügen.
- Verwenden Sie entweder das Tool zur Bedingungserstellung oder den Bedingungseditor, um die zulässigen Bereiche zu definieren. Verwenden Sie dabei den im ersten Schritt erstellten Bereichsnamen als Ressourcennamen. Wenn Sie beispielsweise einen Bereich mit dem Namen
scope_testverwenden möchten, legen Sie die Bedingungresource.name.endsWith("/dataAccessScopes/scope_test")fest.
Weitere Informationen zur Implementierung der rollenbasierten Zugriffssteuerung für Daten in der Data Export API finden Sie unter Anwendung der rollenbasierten Zugriffssteuerung für Daten auf die Data Export API.
Erstellen Sie einen Google Cloud Storage-Bucket. Erstellen Sie in Ihrem Google Cloud-Projekt einen neuen Google Cloud Storage-Bucket (das Ziel für Ihre exportierten Daten) in derselben Region wie Ihr Google SecOps-Mandant. Machen Sie es privat, um unbefugten Zugriff zu verhindern. Weitere Informationen finden Sie unter Bucket erstellen.
Gewähren Sie dem Dienstkonto Berechtigungen. So weisen Sie dem Google SecOps-Dienstkonto, das mit Ihrem Google SecOps-Mandanten verknüpft ist, die erforderlichen IAM-Rollen zum Schreiben von Daten in Ihren Bucket zu:
Rufen Sie den API-Endpunkt
FetchServiceAccountForDataExportauf, um das eindeutige Dienstkonto Ihrer Google SecOps-Instanz zu identifizieren. Die API gibt die E-Mail-Adresse des Dienstkontos zurück.Beispielanfrage:
{ "parent": "projects/myproject/locations/us/instances/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" }Beispielantwort:
{ "service_account_email": "service-1234@gcp-sa-chronicle.iam.gserviceaccount.com" }Weisen Sie dem Hauptkonto des Google SecOps-Dienstkontos die folgenden IAM-Rollen für den Google Cloud Storage-Ziel-Bucket zu, damit der Google SecOps-Dienst exportierte Datendateien in Ihren Google Cloud Storage-Bucket schreiben kann:
Storage object administrator (roles/storage.objectAdmin)Legacy bucket reader (roles/storage.legacyBucketReader)
Weitere Informationen finden Sie unter Zugriff auf das Google SecOps-Dienstkonto gewähren.
Schließen Sie die Authentifizierung ab. Die Data Export API authentifiziert Ihre Aufrufe. Folgen Sie der Anleitung in den folgenden Abschnitten, um diese Authentifizierung einzurichten:
Wichtige Anwendungsfälle und Kernworkflow
Die Data Export API bietet eine Reihe von Endpunkten, mit denen Sie Datenexportjobs erstellen und den gesamten Lebenszyklus des Bulk-Datenexports verwalten können. Alle Interaktionen erfolgen über API-Aufrufe.
In den folgenden Anwendungsfällen wird beschrieben, wie Sie Datenexportjobs erstellen, überwachen und verwalten.
Neuen Datenexportjob erstellen
Das System speichert die Spezifikationen für Datenexportjobs in der übergeordneten Ressource der Google SecOps-Instanz. Diese Instanz ist die Quelle der Logdaten für den Exportjob.
Informationen zum Identifizieren des eindeutigen Dienstkontos für Ihre Google SecOps-Instanz finden Sie unter FetchServiceAccountForDataExports.
Wenn Sie einen neuen Export starten möchten, senden Sie eine
POST-Anfrage an den EndpunktdataExports.create. Weitere Informationen finden Sie unterCreateDataExport-Endpunkt.
Status des Datenexportjobs überwachen
Sie können sich die Details und den Status eines bestimmten Datenexportjobs ansehen oder einen Filter konfigurieren, um bestimmte Jobtypen aufzurufen.
Informationen zum Aufrufen eines bestimmten Exportjobs finden Sie unter GetDataExport.
Informationen zum Auflisten bestimmter Arten von Datenexportjobs mithilfe eines Filters finden Sie unter ListDataExport.
Jobs in der Warteschlange abbrechen
Sie können einen Job abbrechen, wenn sein Status IN_QUEUE ist.
Informationen zum Abbrechen eines Jobs in der Warteschlange finden Sie unter CancelDataExport.
Anwendung der RBAC für Daten auf die Data Export API
Exportjobs übernehmen den RBAC-Bereich für Daten der Nutzer, die einen Exportjob erstellen. Dadurch wird eine unbefugte Datenextraktion verhindert.
Wenn Sie versuchen, Daten zu exportieren, die über den Umfang Ihres Datenzugriffsbereichs hinausgehen, werden diese Daten von der API automatisch beim Ausführen des Exportjobs ausgeschlossen. Der Wert des Felds dataRbacFiltered in den Metadaten abgeschlossener Jobs (also Jobs mit dem Status FINISHED_SUCCESS) gibt an, ob Daten ausgeschlossen wurden. Wenn dataRbacFiltered den Wert true hat, wurden einige oder alle für den Exportjob ausgewählten Daten ausgeschlossen, da sie außerhalb der RBAC-Bereiche für Daten lagen, die für den Ersteller des Jobs gelten. Wenn dataRbacFiltered den Wert false hat, war der Exportjob nicht von Einschränkungen des Daten-RBAC-Bereichs betroffen und alle im Job enthaltenen Daten wurden erfolgreich exportiert.
Die API wendet die Daten-RBAC-Bereiche an, die zum Zeitpunkt der Joberstellung für den Ersteller gelten. Änderungen an RBAC-Bereichen für Daten gelten nicht rückwirkend für bereits erstellte Jobs.
Weitere Informationen zur Daten-RBAC finden Sie unter Daten-RBAC – Übersicht.
Häufige Probleme beheben
Die API liefert detaillierte Fehlermeldungen, die bei der Diagnose von Problemen helfen.
| Kanonischer Code | Fehlermeldung |
|---|---|
INVALID_ARGUMENT |
INVALID_REQUEST: Invalid request parameter PARAMETER_1, PARAMETER_2, ... PARAMETER_N. Please fix the request parameters and try again. |
PERMISSION_DENIED |
INSUFFICIENT_PERMISSIONS: Unable to validate request with the current CMEK key. Please fix the CMEK key and try again |
NOT_FOUND |
BUCKET_NOT_FOUND: The destination Google Cloud Storage bucket BUCKET_NAME does not exist. Please create the destination Google Cloud Storage bucket and try again. |
NOT_FOUND |
REQUEST_NOT_FOUND: The dataExportId:DATA_EXPORT_ID does not exist. Please add a valid dataExportId and try again. |
FAILED_PRECONDITION |
BUCKET_INVALID_REGION: The Google Cloud Storage bucket BUCKET_ID's region:REGION_1 is not the same region as the SecOps tenant region:REGION_2. Please create the Google Cloud Storage bucket in the same region as SecOps tenant and try again. |
FAILED_PRECONDITION |
INSUFFICIENT_PERMISSIONS: The Service Account P4SA does not have storage.objects.create, storage.objects.get and storage.buckets.get permissions on the destination Google Cloud Storage bucket BUCKET_NAME. Please provide the required access to the Service Account and try again. |
FAILED_PRECONDITION |
INVALID_CANCELLATION: The request status is in the STATUS stage and can't be cancelled. You can only cancel the request if the status is in the IN_QUEUE stage. |
RESOURCE_EXHAUSTED |
CONCURRENT_REQUEST_LIMIT_EXCEEDED: Maximum concurrent requests limit LIMIT reached for the request size SIZE_LIMIT. Please wait for the existing requests to complete and try again. |
RESOURCE_EXHAUSTED |
REQUEST_SIZE_LIMIT_EXCEEDED: The estimated export volume: ESTIMATED_VOLUME for the request is greater than maximum allowed export volume: ALLOWED_VOLUME per request. Please try again with a request within the allowed export volume limit. |
INTERNAL |
INTERNAL_ERROR: An Internal error occurred. Please try again. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten