Cloud Storage-Kontextprotokolle erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Cloud Storage-Kontextprotokolle mithilfe von Cloud Storage in Google Security Operations exportieren und aufnehmen. Der Parser bereinigt und strukturiert eingehende JSON-Daten aus Cloud Storage-Protokollen. Anschließend werden relevante Felder dem einheitlichen Datenmodell (Unified Data Model, UDM) zugeordnet und die Daten mit Labels und Metadaten angereichert, um eine einheitliche Darstellung und Analyse im Sicherheitssystem zu ermöglichen.

Hinweise

  • Sie benötigen eine Google SecOps-Instanz.
  • Cloud Storage muss in Ihrer Umgebung eingerichtet und aktiv sein. Google Cloud
  • Sie benötigen Lesezugriff auf Google Cloud und die entsprechenden Berechtigungen.

Cloud Storage-Bucket erstellen

  1. Melden Sie sich in der Google Cloud Console an.
  2. Rufen Sie die Seite Cloud Storage-Buckets auf.

    Buckets aufrufen

  3. Klicken Sie auf Erstellen.

  4. Geben Sie auf der Seite Bucket erstellen die Bucket-Informationen ein. Klicken Sie nach jedem der folgenden Schritte auf Weiter, um mit dem nächsten Schritt fortzufahren:

    1. Führen Sie im Abschnitt Einstieg die folgenden Schritte aus:

      1. Geben Sie einen eindeutigen Namen ein, der den Anforderungen für Bucket-Namen entspricht, z. B. google-storage-context-logs.
      2. Wenn Sie den hierarchischen Namespace aktivieren möchten, klicken Sie auf den Maximierungspfeil, um den Bereich Für dateiorientierte und datenintensive Arbeitslasten optimieren zu maximieren, und wählen Sie dann Hierarchischen Namespace für diesen Bucket aktivieren aus.

      3. Wenn Sie ein Bucket-Label hinzufügen möchten, klicken Sie auf den Erweiterungspfeil, um den Bereich Labels zu maximieren.

      4. Klicken Sie auf Label hinzufügen und geben Sie einen Schlüssel und einen Wert für das Label an.

    2. Gehen Sie im Bereich Speicherort für Daten auswählen so vor:

      1. Standorttyp auswählen.
      2. Wählen Sie im Menü „Standorttyp“ einen Speicherort aus, an dem die Objektdaten in Ihrem Bucket dauerhaft gespeichert werden sollen.

      3. Wenn Sie die Bucket-übergreifende Replikation einrichten möchten, maximieren Sie den Bereich Bucket-übergreifende Replikation einrichten.

    3. Wählen Sie im Abschnitt Speicherklasse für Ihre Daten auswählen entweder eine Standardspeicherklasse für den Bucket oder Autoclass für die automatische Verwaltung der Speicherklassen Ihrer Bucket-Daten aus.

    4. Wählen Sie im Abschnitt Zugriff auf Objekte steuern die Option nicht aus, um die Verhinderung des öffentlichen Zugriffs zu erzwingen, und wählen Sie ein Zugriffssteuerungsmodell für die Objekte Ihres Buckets aus.

    5. Gehen Sie im Bereich Auswählen, wie Objektdaten geschützt werden so vor:

      1. Wählen Sie unter Datenschutz die Optionen aus, die Sie für den Bucket festlegen möchten.
      2. Um auszuwählen, wie Ihre Objektdaten verschlüsselt werden, klicken Sie auf den Erweiterungspfeil mit Label Datenverschlüsselung und wählen Sie eine Methode für die Datenverschlüsselung aus.
  5. Klicken Sie auf Erstellen.

Export von Cloud Storage-Kontextprotokollen konfigurieren

  1. Melden Sie sich in der Google Cloud Console an.
  2. Gehen Sie zu Logging > Logrouter.
  3. Klicken Sie auf Senke erstellen.
  4. Geben Sie die folgenden Konfigurationsparameter an:

    • Name der Senke: Geben Sie einen aussagekräftigen Namen ein, z. B. Storage-Context-Sink.
    • Sink-Ziel: Wählen Sie Cloud Storage aus und geben Sie den URI für Ihren Bucket ein, z. B. gs://google-storage-context-logs.
    • Log-Filter:

      logName="*storage*"
      resource.type="gcs_bucket"
      
  5. Klicken Sie auf Erstellen.

Berechtigungen für Cloud Storage konfigurieren

  1. Rufen Sie IAM & Verwaltung > IAM auf.
  2. Suchen Sie das Cloud Logging-Dienstkonto.
  3. Weisen Sie dem Bucket die Rolle roles/storage.admin zu.

Feed in Google SecOps für die Aufnahme von Cloud Storage-Kontextprotokollen konfigurieren

  1. Gehen Sie zu SIEM-Einstellungen > Feeds.
  2. Klicken Sie auf Neu hinzufügen.
  3. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Cloud Storage-Kontextprotokolle.
  4. Wählen Sie Google Cloud Storage als Quelltyp aus.
  5. Wählen Sie als Logtyp GCP Google Cloud Storage Context aus.
  6. Klicken Sie neben dem Feld Chronicle-Dienstkonto auf Dienstkonto abrufen.
  7. Klicken Sie auf Weiter.
  8. Geben Sie Werte für die folgenden Eingabeparameter an:

    • Storage Bucket-URI: Cloud Storage-Bucket-URL, z. B. gs://google-storage-context-logs.
    • URI ist: Wählen Sie Verzeichnis mit Unterverzeichnissen aus.
    • Optionen zum Löschen der Quelle: Wählen Sie die gewünschte Option aus.

    • Asset-Namespace: der Asset-Namespace.

    • Labels für Datenaufnahme: Das Label, das auf die Ereignisse aus diesem Feed angewendet wird.

  9. Klicken Sie auf Weiter.

  10. Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
Vorgänger event.idm.entity.entity.resource.attribute.labels.value Der Wert des Vorfahren wird aus dem Array „Vorfahren“ im Rohprotokoll extrahiert.
assetType event.idm.entity.entity.resource.type Direkt aus dem Feld „assetType“ im Rohprotokoll zugeordnet.
insertId event.idm.entity.metadata.product_entity_id Direkt aus dem Feld „insertId“ im Rohprotokoll zugeordnet.
labels.compute.googleapis.com/resource_name event.idm.entity.entity.resource.name Wird direkt aus dem Feld „labels.compute.googleapis.com/resource_name“ im Rohlog zugeordnet.
labels.k8s-pod/controller-revision-hash event.idm.entity.entity.file.sha1 Wird direkt aus dem Feld „labels.k8s-pod/controller-revision-hash“ im Rohprotokoll zugeordnet.
labels.k8s-pod/name event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „labels.k8s-pod/name“ im Rohprotokoll zugeordnet.
labels.k8s-pod/pod-template-generation event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „labels.k8s-pod/pod-template-generation“ im Rohprotokoll zugeordnet.
logName event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „logName“ im Rohprotokoll zugeordnet.
Name event.idm.entity.entity.resource.name Wird direkt aus dem Namensfeld im Rohprotokoll zugeordnet.
receiveTimestamp event.idm.entity.entity.resource.attribute.creation_time Aus dem Feld „receiveTimestamp“ im Rohprotokoll in das Zeitstempelformat konvertiert.
resource.data.iamConfiguration.publicAccessPrevention event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „resource.data.iamConfiguration.publicAccessPrevention“ im Rohprotokoll zugeordnet.
resource.data.id event.idm.entity.entity.resource.product_object_id Wird direkt aus dem Feld „resource.data.id“ im Rohprotokoll zugeordnet.
resource.data.kind event.idm.entity.entity.resource.type Wird direkt aus dem Feld „resource.data.kind“ im Rohprotokoll zugeordnet.
resource.data.labels.app_id event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „resource.data.labels.app_id“ im Rohprotokoll zugeordnet.
resource.data.labels.app_name event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „resource.data.labels.app_name“ im Rohprotokoll zugeordnet.
resource.data.labels.bucket_id event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „resource.data.labels.bucket_id“ im Rohprotokoll zugeordnet.
resource.data.labels.data_classification event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „resource.data.labels.data_classification“ im Rohprotokoll zugeordnet.
resource.data.labels.dept_name event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „resource.data.labels.dept_name“ im Rohprotokoll zugeordnet.
resource.data.labels.dept_no event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „resource.data.labels.dept_no“ im Rohprotokoll zugeordnet.
resource.data.labels.environment event.idm.entity.entity.resource.attribute.labels.value Direkt aus dem Feld „resource.data.labels.environment“ im Rohprotokoll zugeordnet.
resource.data.labels.goog-composer-environment event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „resource.data.labels.goog-composer-environment“ im Rohprotokoll zugeordnet.
resource.data.labels.goog-composer-location event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „resource.data.labels.goog-composer-location“ im Rohprotokoll zugeordnet.
resource.data.labels.goog-composer-version event.idm.entity.entity.resource.attribute.labels.value Direkt aus dem Feld „resource.data.labels.goog-composer-version“ im Rohprotokoll zugeordnet.
resource.data.labels.technical_contact event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „resource.data.labels.technical_contact“ im Rohprotokoll zugeordnet.
resource.data.labels.type event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „resource.data.labels.type“ im Rohprotokoll zugeordnet.
resource.data.location event.idm.entity.entity.location.name Wird direkt aus dem Feld „resource.data.location“ im Rohprotokoll zugeordnet.
resource.data.projectNumber event.idm.entity.entity.resource.attribute.cloud.project.id Wird direkt aus dem Feld „resource.data.projectNumber“ im Rohprotokoll zugeordnet.
resource.data.selfLink event.idm.entity.entity.url Wird direkt aus dem Feld „resource.data.selfLink“ im Rohprotokoll zugeordnet.
resource.data.timeCreated event.idm.entity.entity.resource.attribute.creation_time Aus dem Feld „resource.data.timeCreated“ im Rohprotokoll in das Zeitstempelformat konvertiert.
resource.data.updated event.idm.entity.entity.resource.attribute.last_update_time Aus dem Feld „resource.data.updated“ im Rohprotokoll in das Zeitstempelformat konvertiert.
resource.discoveryDocumentUri event.idm.entity.entity.file.full_path Wird direkt aus dem Feld „resource.discoveryDocumentUri“ im Rohprotokoll zugeordnet.
resource.labels.cluster_name event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „resource.labels.cluster_name“ im Rohprotokoll zugeordnet.
resource.labels.container_name event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „resource.labels.container_name“ im Rohprotokoll zugeordnet.
resource.labels.location event.idm.entity.entity.location.name Direkt aus dem Feld „resource.labels.location“ im Rohprotokoll zugeordnet.
resource.labels.namespace_name event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „resource.labels.namespace_name“ im Rohprotokoll zugeordnet.
resource.labels.pod_name event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „resource.labels.pod_name“ im Rohprotokoll zugeordnet.
resource.labels.project_id event.idm.entity.entity.resource.attribute.cloud.project.id Wird direkt aus dem Feld „resource.labels.project_id“ im Rohprotokoll zugeordnet.
resource.parent event.idm.entity.entity.resource.parent Wird direkt aus dem Feld „resource.parent“ im Rohprotokoll zugeordnet.
resource.type event.idm.entity.entity.resource.type Wird direkt aus dem Feld „resource.type“ im Rohprotokoll zugeordnet.
resource.version event.idm.entity.entity.resource.attribute.labels.value Wird direkt aus dem Feld „resource.version“ im Rohprotokoll zugeordnet.
textPayload event.idm.entity.entity.resource.attribute.labels.value Direkt aus dem Feld „textPayload“ im Rohprotokoll zugeordnet.
event.idm.entity.metadata.collected_timestamp Der erfasste Zeitstempel ist der Zeitstempel des Logeintrags.
event.idm.entity.metadata.entity_type Hartcodiert auf RESOURCE.
event.idm.entity.metadata.product_name Hartcodiert auf GCP Storage Context.
event.idm.entity.metadata.vendor_name Hartcodiert auf Google Cloud Platform.
event.idm.entity.entity.resource.attribute.cloud.environment Hartcodiert auf GOOGLE_CLOUD_PLATFORM.
event.idm.entity.entity.resource.resource_type Hartcodiert auf STORAGE_BUCKET.
event.timestamp Der Zeitstempel des Ereignisses ist der Zeitstempel des Logeintrags.

Änderungen

2024-05-28

Optimierung:

  • Unparsierte JSON-Protokolle werden verarbeitet.

2023-04-13

Optimierung:

  • resource.data.iamConfiguration.publicAccessPrevention und resource.version wurden entity.resource.attribute.label zugeordnet.
  • resource.discoveryDocumentUri wurde entity.file.full_path zugeordnet.

2022-12-07

Fehlerkorrektur:

  • Die Zuordnung für resource.data.timeCreated wurde von event.timestamp zu entity.resource.attribute.creation_time geändert.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten