Rohprotokolle in einen selbstverwalteten Google Cloud Storage-Bucket exportieren
Mit der Data Export API können Sie Ihre Sicherheitsdaten aus Google Security Operations im Bulk in einen Google Cloud Storage-Bucket exportieren, den Sie verwalten. Diese Funktion unterstützt die kritische, langfristige Datenaufbewahrung, die forensische Analyse von Vergangenem und strenge Compliance-Anforderungen (z. B. SOX und DSGVO).
Detaillierte API-Referenzinformationen 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 für Unternehmen, darunter:
- Automatisierte Wiederholungsversuche bei vorübergehenden Fehlern
- Umfassende Überwachung des Jobstatus
- 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 Workflows zum Auslagern großer Datenmengen 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üffähige Lösung für die Verwaltung des Lebenszyklus Ihrer Sicherheitsdaten. Die wichtigsten Vorteile sind:
- 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 robust. 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. Die API-Antwort für diesen Job enthält eine detaillierte Fehlermeldung, in der die Ursache erläutert wird. Umfassende Prüffähigkeit: Um strenge Compliance- und Sicherheits standards zu erfüllen, erfasst das System jede Aktion im Zusammenhang mit einem Exportjob in einem unveränderlichen Audit-Trail. Dieser Trail enthält die Erstellung, den Start, den Erfolg oder den Fehler jedes Jobs sowie den Nutzer, der die Aktion initiiert hat, einen Zeitstempel und die Jobparameter.
Für Leistung und Skalierung optimiert: Die API verwendet ein robustes Jobverwaltungssystem. Dieses System umfasst Warteschlangen und Priorisierung, um die Stabilität der Plattform 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 Zeiträume für die Verlaufsanalyse finden und abfragen.
Sicherheit: Die API ist so konzipiert, dass sie vollständig mit vom Kunden verwalteten Verschlüsselungsschlüsseln (Customer-Managed Encryption Keys, CMEK) (Zero-Trust-Sicherheit) und datenbezogenem RBAC (Zugriff mit den geringsten Berechtigungen) kompatibel ist. Exportjobs übernehmen den Umfang der Datensichtbarkeit des Nutzers, der die Anfrage auslöst, um unbefugte Datenextraktion zu verhindern. Die Exportpipeline ist außerdem vollständig in Google Cloud Key Management Service eingebunden und 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 Zeit
raums 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 Google Cloud Storage-Bucket im Besitz des Nutzers, der als Ziel für die exportierten Daten dient.
- Protokolltypen: die spezifischen Kategorien von Protokollen, die Sie exportieren können (z.
B.
NIX_SYSTEM,WINDOWS_DNS,CB_EDR). Weitere Informationen finden Sie in der Liste aller unterstützten Protokolltypen.
Struktur der exportierten Daten
Wenn ein Job erfolgreich abgeschlossen wurde, schreibt das System die Daten in Ihren Google Cloud Storage-Bucket. Dabei 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: Der Name Ihres Google Cloud Storage-Bucket.
- EXPORT_JOB_NAME: Der eindeutige Name Ihres Exportjobs.
- LOGTYPE: Der Name des Protokolltyps für die exportierten Daten.
- EVENT_TIME_BUCKET: Der Stundenbereich der Zeitstempel der exportierten Protokolle. 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: Der Unix-Epochenzeitwert, der angibt, wann der Exportjob begonnen hat.
- FILE_SHARD_NAME: Der Name der fragmentierten Dateien mit Rohprotokollen. Jedes Dateifragment hat eine maximale Dateigröße von 100 MB.
Leistung und Einschränkungen
Für den Dienst gelten die folgenden spezifischen Limits, um die Stabilität der Plattform 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 Jobanfrage ab, die dieses Limit überschreitet.
- Jobabschlusszeiten: Die Abschlusszeiten von Jobs werden durch das Volumen der exportierten Daten bestimmt. Ein einzelner Job kann bis zu 18 Stunden dauern.
- Exportformat und Datenbereich: Die API unterstützt Bulk-Exporte zu einem bestimmten Zeitpunkt
mit den folgenden Einschränkungen und Funktionen:
- Nur Rohprotokolle: Sie können nur Rohprotokolle exportieren (keine UDM-Protokolle, 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. Anhand dieser Informationen können Sie prüfen, ob Ihre Umgebung richtig konfiguriert ist.
).Bevor Sie die Data Export API verwenden, führen Sie die folgenden Schritte aus, um Ihr Google Cloud Storage-Ziel einzurichten und die erforderlichen Berechtigungen zu erteilen:
Nutzer Berechtigungen erteilen. Um die Data Export API verwenden zu können, 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-Administrator: Gewährt vollständige Berechtigungen zum Erstellen, Aktualisieren, Abbrechen und Aufrufen von Exportjobs mit der API. Diese Rolle gewährt globalen Zugriff.
- Chronicle API-Betrachter: Gewährt schreibgeschützten Zugriff zum Aufrufen von Jobkonfigurationen und ‑verlauf mit der API. Ohne die
restrictedDataAccessRolle kann ein Nutzer mit dieser Rolle alle Daten aufrufen (siehe + Weitere Rolle hinzufügen Schritt und fügen Sie eine Bedingung hinzu).
Datenbezogene RBAC-Bereiche auf einen Nutzer anwenden. So beschränken Sie einen Nutzer auf bestimmte Datenzugriffsbereiche:
- Prüfen Sie, ob die datenbezogenen RBAC-Bereiche, die Sie anwenden möchten, bereits in der Google SecOps-UI unter Einstellungen > SIEM-Einstellungen > Datenzugriff > Bereiche erstellt wurden. 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 von Datenexporten. Da vordefinierte Rollen möglicherweise zu viel Zugriff gewähren oder nicht die spezifische Kombination von Berechtigungen haben, führen Sie die folgenden Schritte aus, um eine benutzerdefinierte Rolle zu erstellen, die für die Verwaltung von Datenexporten in einem bestimmten Kontext zugeschnitten ist:
- Wechseln Sie in der Google Cloud Console zu IAM & Verwaltung > Rollen.
- 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 aufgeführt sind (Berechtigungen für den API-Nutzer erteilen).
- Klicken Sie auf Erstellen.
Nutzer IAM-Rollen zuweisen. Führen Sie auf der IAM-Seite die folgenden Schritte aus, um Ihrem Nutzer die erforderlichen Rollen zuzuweisen:
- Wechseln Sie zu IAM & Verwaltung > IAM.
- Klicken Sie auf + Zugriff erlauben.
- 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 unter Datenbereiche fallend 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.
- Definieren Sie die zulässigen Bereiche entweder mit dem Tool zur Bedingungserstellung oder dem Bedingungs-Editor. 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 von datenbezogenem RBAC für die Data Export API finden Sie unter Wie datenbezogenes RBAC auf die Data Export API angewendet wird.
Google Cloud Storage-Bucket erstellen. 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 ihn privat, um unbefugten Zugriff zu verhindern. Weitere Informationen finden Sie unter Bucket erstellen.
Gewähren Sie dem Dienstkonto -Berechtigungen. Führen Sie die folgenden Schritte aus, um 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 gewähren:
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" }Gewähren Sie dem Hauptkonto des Google SecOps-Dienstkontos die folgenden IAM-Rollen für den Google Cloud Storage-Ziel-Bucket. So kann der Google SecOps-Dienst exportierte Datendateien in Ihren Google Cloud Storage-Bucket schreiben:
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.
Authentifizierung abschließen. 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 zum Erstellen von Datenexportjobs und zum Verwalten des gesamten Lebenszyklus von Bulk-Datenexporten. 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 Google SecOps-Instanz. Diese Instanz ist die Quelle der Protokolldaten für den Exportjob.
Informationen zum Ermitteln des eindeutigen Dienstkontos für Ihre Google SecOps-Instanz finden Sie unter FetchServiceAccountForDataExports.
Senden Sie eine
POST-Anfrage an den EndpunktdataExports.create, um einen neuen Export zu starten. Weitere Informationen finden Sie unterCreateDataExportEndpunkt.
Status von Datenexportjobs überwachen
Sie können Details und Status von Datenexportjobs für einen bestimmten Exportjob aufrufen 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 mit einem Filter 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.
Wie datenbezogenes RBAC auf die Data Export API angewendet wird
Exportjobs übernehmen den datenbezogenen RBAC-Bereich der Nutzer, die einen Exportjob erstellen. So wird unbefugte Datenextraktion verhindert.
Wenn Sie versuchen, Daten zu exportieren, die über den zulässigen Zugriffsbereich für den Datenzugriff hinausgehen, schließt die API diese Daten automatisch bei der Ausführung des Exportjobs aus. Der Wert des Felds dataRbacFiltered in den Metadaten abgeschlossener Jobs (d. h. Jobs mit dem Status FINISHED_SUCCESS) gibt an, ob Daten ausgeschlossen wurden. Wenn dataRbacFiltered true ist, wurden einige oder alle für den Exportjob ausgewählten Daten ausgeschlossen, da sie außerhalb der datenbezogenen RBAC-Bereiche lagen, die für den Jobersteller gelten. Wenn dataRbacFiltered false ist, war der Exportjob nicht von Einschränkungen des datenbezogenen RBAC-Bereichs betroffen und alle im Job enthaltenen Daten wurden erfolgreich exportiert.
Die API wendet die datenbezogenen RBAC-Bereiche an, die zum Zeitpunkt der Joberstellung für den Ersteller gelten. Änderungen an datenbezogenen RBAC-Bereichen werden nicht rückwirkend auf bereits erstellte Jobs angewendet.
Weitere Informationen zu datenbezogenem RBAC finden Sie unter Übersicht über datenbezogenes RBAC.
Häufige Probleme beheben
Die API bietet detaillierte Fehlermeldungen, mit denen Sie Probleme diagnostizieren können.
| 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