Rohlogs in einen selbstverwalteten Google Cloud Storage-Bucket exportieren

Unterstützt in:

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

Ausführliche 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:

  • Automatisierte Wiederholungsversuche bei vorübergehenden Fehlern
  • Umfassendes Monitoring 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 Exportprozesses, 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 mit den folgenden Hauptvorteilen:

  • Zuverlässigkeit: Der Dienst verarbeitet große Datenübertragungen. Das System verwendet eine exponentielle Backoff-Strategie, um Exportjobs, bei denen vorübergehende Probleme auftreten (z. B. vorübergehende 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_FAILURE aktualisiert. 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 umfasst 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 kundenverwalteten Verschlüsselungsschlüsseln (CMEK) (Zero-Trust-Sicherheit) und Daten-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 den Google Cloud Key Management Service eingebunden und die Daten bleiben mit Ihren eigenen Schlüsseln im Ruhezustand in Ihrem Google Cloud Storage-Bucket verschlüsselt.

Wichtige Begriffe und Konzepte

  • Exportjob: Ein einzelner, asynchroner Vorgang zum Exportieren eines bestimmten Zeit raums von Logdaten 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.
  • 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. Dabei wird eine bestimmte, partitionierte Verzeichnisstruktur verwendet, um den Datenzugriff und die Datenabfrage 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 Logtyps für die exportierten Daten.
  • EVENT_TIME_BUCKET: Der Stundenbereich der Zeitstempel der exportierten Logs. Das Format ist ein UTC-Zeitstempel: year/month/day/UTC-timestamp, wobei UTC-timestamp für hour/minute/second steht. 2025/08/25/01/00/00 bezieht sich beispielsweise auf UTC 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 Shard-Dateien, die Rohlogs enthalten. Jeder Dateishard 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 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. 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:

  1. Nutzer Berechtigungen erteilen. 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:

    Diese Berechtigungen sind Teil der folgenden vordefinierten IAM-Rollen:

  2. Daten-RBAC-Bereiche auf einen Nutzer anwenden. So beschränken Sie einen Nutzer auf bestimmte Datenzugriffsbereiche:

    1. Prüfen Sie, ob die Daten-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.
    2. 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, gehen Sie so vor, um eine benutzerdefinierte Rolle zu erstellen, die für die Verwaltung von Datenexporten in einem bestimmten Kontext zugeschnitten ist:

      1. Wechseln Sie in der Google Cloud Console zu IAM & Verwaltung > Rollen.
      2. Klicken Sie auf + Rolle erstellen.
      3. Geben Sie einen Titel ein (z. B. SecOps Scoped Data Export User).
      4. Geben Sie eine ID ein (z. B. secopsScopedDataExportUser).
      5. Klicken Sie auf + Berechtigungen hinzufügen.
      6. 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).
      7. Klicken Sie auf Erstellen.
  3. Gewähren Sie dem Nutzer IAM-Rollen. Gehen Sie auf der IAM-Seite so vor, um Ihrem Nutzer die erforderlichen Rollen zuzuweisen:

    1. Wechseln Sie zu IAM & Verwaltung > IAM.
    2. Klicken Sie auf + Zugriff gewähren.
    3. Geben Sie unter Neue Hauptkonten die E-Mail-Adresse des Nutzers ein.
    4. So weisen Sie Rollen zu:

      1. Fügen Sie die von Ihnen erstellte benutzerdefinierte Rolle hinzu (z. B. SecOps Scoped Data Export User).
      2. 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.
  4. Fügen Sie der Rollenbindung Chronicle API Restricted Data Access eine IAM-Bedingung hinzu. So verknüpfen Sie den Nutzer mit bestimmten Datenbereichen:

    1. Klicken Sie auf IAM-Bedingung hinzufügen.
    2. Verwenden Sie entweder das Tool zur Bedingungserstellung oder den Bedingungs-Editor, 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_test verwenden möchten, legen Sie die Bedingung resource.name.endsWith("/dataAccessScopes/scope_test") fest.

    Weitere Informationen zur Implementierung von Daten-RBAC für die Data Export API finden Sie unter So wird Daten-RBAC auf die Data Export API angewendet.

  5. 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 ihn privat, um unbefugten Zugriff zu verhindern. Weitere Informationen finden Sie unter Bucket erstellen.

  6. Gewähren Sie dem Dienstkonto die Berechtigungen. Gehen Sie so vor, um dem Google SecOps-Dienstkonto, das mit Ihrem Google SecOps-Mandanten verknüpft ist, die erforderlichen IAM-Rollen zu gewähren, damit Daten in Ihren Bucket geschrieben werden können:

    1. Rufen Sie den API-Endpunkt FetchServiceAccountForDataExport auf, um das eindeutige Dienstkonto Ihrer Google SecOps-Instanz zu ermitteln. 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"
      }
      
    2. Gewähren Sie dem Google SecOps-Dienstkonto die folgenden IAM-Rollen für den Google Cloud Storage-Ziel-Bucket, 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.

  7. Authentifizierung abschließen. Die Data Export API authentifiziert Ihre Aufrufe. Folgen Sie der Anleitung in den folgenden Abschnitten, um diese Authentifizierung einzurichten:

    1. Authentifizierungsmethoden für Google Cloud Dienste
    2. Standardanmeldedaten für Anwendungen

Wichtige Anwendungsfälle und Kernworkflow

Die Data Export API bietet eine Reihe von Endpunkten zum Erstellen von Datenexportjobs und zum Verwalten des gesamten Lebenszyklus des Bulk-Datenexports. 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 Logdaten für den Exportjob.

  • Informationen zum Ermitteln 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 Endpunkt dataExports.create. Weitere Informationen finden Sie unter CreateDataExport Endpunkt.

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.

So wird Daten-RBAC auf die Data Export API angewendet

Exportjobs übernehmen den Daten-RBAC-Bereich der Nutzer, die einen Exportjob erstellen. So wird unbefugte Datenextraktion verhindert.

Wenn Sie versuchen, Daten zu exportieren, die über den zulässigen Datenzugriffsbereich hinausgehen, schließt die API diese Daten automatisch aus, wenn der Exportjob ausgeführt wird. 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 auf true gesetzt ist, wurden einige oder alle für den Exportjob ausgewählten Daten ausgeschlossen, da sie außerhalb der Daten-RBAC-Bereiche lagen, die für den Jobersteller gelten. Wenn dataRbacFiltered auf false gesetzt ist, 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 Daten-RBAC-Bereichen werden nicht rückwirkend auf bereits erstellte Jobs angewendet.

Weitere Informationen zu Daten-RBAC finden Sie unter Übersicht über Daten-RBAC.

Häufige Probleme beheben

Die API bietet 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