Cloud Storage-Kontextlogs erfassen
In diesem Dokument wird beschrieben, wie Sie Cloud Storage-Kontextlogs mithilfe von Cloud Storage exportieren und in Google Security Operations aufnehmen. Der Parser bereinigt und strukturiert eingehende JSON-Daten aus Cloud Storage-Logs. Anschließend werden relevante Felder dem einheitlichen Datenmodell (Unified Data Model, UDM) zugeordnet und die Daten werden mit Labels und Metadaten angereichert, um eine einheitliche Darstellung und Analyse im Sicherheitsökosystem zu ermöglichen.
Hinweise
Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:
- Google SecOps-Instanz.
- Cloud Storage ist in Ihrer Google Cloud Umgebung eingerichtet und aktiv.
- Privilegierter Zugriff auf Google Cloud und entsprechende Berechtigungen.
Cloud Storage-Bucket erstellen
- Melden Sie sich in der Google Cloud -Konsole an.
Rufen Sie die Seite Cloud Storage-Buckets auf.
Klicken Sie auf Erstellen.
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:
Führen Sie im Abschnitt Einstieg die folgenden Schritte aus:
- Geben Sie einen eindeutigen Namen ein, der den Anforderungen für Bucket-Namen entspricht, z. B. google-storage-context-logs.
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.
Wenn Sie ein Bucket-Label hinzufügen möchten, klicken Sie auf den Erweiterungspfeil, um den Abschnitt Labels zu maximieren.
Klicken Sie auf Label hinzufügen und geben Sie einen Schlüssel und einen Wert für das Label an.
Gehen Sie im Bereich Speicherort für Daten auswählen so vor:
- Standorttyp auswählen.
Wählen Sie im Menü für den Standorttyp einen Speicherort aus, an dem die Objektdaten in Ihrem Bucket dauerhaft gespeichert werden sollen.
Wenn Sie die Bucket-übergreifende Replikation einrichten möchten, maximieren Sie den Bereich Bucket-übergreifende Replikation einrichten.
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.
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.
Gehen Sie im Bereich Auswählen, wie Objektdaten geschützt werden so vor:
- Wählen Sie unter Datenschutz die gewünschten Optionen für Ihren Bucket aus.
- Um auszuwählen, wie Ihre Objektdaten verschlüsselt werden, klicken Sie auf den Erweiterungspfeil mit dem Label Datenverschlüsselung und wählen Sie eine Datenverschlüsselungsmethode aus.
Klicken Sie auf Erstellen.
Export von Kontextlogs in Cloud Storage konfigurieren
- Melden Sie sich in der Google Cloud -Konsole an.
- Rufen Sie Logging > Log Router auf.
- Klicken Sie auf Senke erstellen.
Geben Sie die folgenden Konfigurationsparameter an:
- Name der Senke: Geben Sie einen aussagekräftigen Namen ein, z. B.
Storage-Context-Sink
. - Sink Destination (Ziel für Senke): Wählen Sie Cloud Storage Storage (Cloud Storage) aus und geben Sie den URI für Ihren Bucket ein, z. B.
gs://google-storage-context-logs
. Log Filter (Log-Filter):
logName="*storage*" resource.type="gcs_bucket"
- Name der Senke: Geben Sie einen aussagekräftigen Namen ein, z. B.
Klicken Sie auf Erstellen.
Berechtigungen für Cloud Storage konfigurieren
- Rufen Sie IAM & Verwaltung > IAM auf.
- Suchen Sie das Cloud Logging-Dienstkonto.
- Weisen Sie dem Bucket die Rolle roles/storage.admin zu.
Feeds einrichten
Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:
- SIEM-Einstellungen > Feeds > Neu hinzufügen
- Content Hub > Content-Packs > Erste Schritte
Kontextfeed für Cloud Storage einrichten
- Klicken Sie auf das Paket Google Cloud Compute Platform.
- Suchen Sie den Logtyp GCP Google Cloud Storage Context und klicken Sie auf Neuen Feed hinzufügen.
Geben Sie Werte für die folgenden Felder an:
- Quelltyp: Google Cloud Storage V2.
- Storage-Bucket-URI: Cloud Storage-Bucket-URL, z. B.
gs://compute-context-logs
. - Optionen zum Löschen der Quelle: Wählen Sie die gewünschte Option aus.
- Maximales Dateialter: Dateien einschließen, die in den letzten Tagen geändert wurden. Der Standardwert ist 180 Tage.
Erweiterte Optionen
- Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
- Asset-Namespace: Der Namespace, der dem Feed zugeordnet ist.
- Aufnahmelabels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.
- Klicken Sie auf Feed erstellen.
Weitere Informationen zum Konfigurieren mehrerer Feeds für verschiedene Logtypen in dieser Produktfamilie finden Sie unter Feeds nach Produkt konfigurieren.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
Vorgänger | event.idm.entity.entity.resource.attribute.labels.value | Der übergeordnete Wert wird aus dem Array „ancestors“ im Rohlog extrahiert. |
assetType | event.idm.entity.entity.resource.type | Direkt aus dem Feld „assetType“ im Rohlog zugeordnet. |
insertId | event.idm.entity.metadata.product_entity_id | Direkt aus dem Feld „insertId“ im Rohlog zugeordnet. |
labels.compute.googleapis.com/resource_name | event.idm.entity.entity.resource.name | Direkt aus dem Feld „labels.compute.googleapis.com/resource_name“ im Rohlog abgeleitet. |
labels.k8s-pod/controller-revision-hash | event.idm.entity.entity.file.sha1 | Direkt aus dem Feld „labels.k8s-pod/controller-revision-hash“ im Rohlog zugeordnet. |
labels.k8s-pod/name | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „labels.k8s-pod/name“ im Rohlog zugeordnet. |
labels.k8s-pod/pod-template-generation | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „labels.k8s-pod/pod-template-generation“ im Rohlog zugeordnet. |
logName | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „logName“ im Rohlog zugeordnet. |
Name | event.idm.entity.entity.resource.name | Direkt aus dem Namensfeld im Rohlog zugeordnet. |
receiveTimestamp | event.idm.entity.entity.resource.attribute.creation_time | Aus dem Feld „receiveTimestamp“ im Rohlog in das Zeitstempelformat konvertiert. |
resource.data.iamConfiguration.publicAccessPrevention | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „resource.data.iamConfiguration.publicAccessPrevention“ im Rohlog zugeordnet. |
resource.data.id | event.idm.entity.entity.resource.product_object_id | Direkt aus dem Feld „resource.data.id“ im Rohlog zugeordnet. |
resource.data.kind | event.idm.entity.entity.resource.type | Direkt aus dem Feld „resource.data.kind“ im Rohlog zugeordnet. |
resource.data.labels.app_id | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „resource.data.labels.app_id“ im Rohlog zugeordnet. |
resource.data.labels.app_name | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „resource.data.labels.app_name“ im Rohlog zugeordnet. |
resource.data.labels.bucket_id | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „resource.data.labels.bucket_id“ im Rohlog zugeordnet. |
resource.data.labels.data_classification | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „resource.data.labels.data_classification“ im Rohlog zugeordnet. |
resource.data.labels.dept_name | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „resource.data.labels.dept_name“ im Rohlog zugeordnet. |
resource.data.labels.dept_no | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „resource.data.labels.dept_no“ im Rohlog zugeordnet. |
resource.data.labels.environment | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „resource.data.labels.environment“ im Rohlog zugeordnet. |
resource.data.labels.goog-composer-environment | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „resource.data.labels.goog-composer-environment“ im Rohlog zugeordnet. |
resource.data.labels.goog-composer-location | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „resource.data.labels.goog-composer-location“ im Rohlog 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 Rohlog zugeordnet. |
resource.data.labels.technical_contact | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „resource.data.labels.technical_contact“ im Rohlog zugeordnet. |
resource.data.labels.type | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „resource.data.labels.type“ im Rohlog zugeordnet. |
resource.data.location | event.idm.entity.entity.location.name | Direkt aus dem Feld „resource.data.location“ im Rohlog zugeordnet. |
resource.data.projectNumber | event.idm.entity.entity.resource.attribute.cloud.project.id | Direkt aus dem Feld „resource.data.projectNumber“ im Rohlog zugeordnet. |
resource.data.selfLink | event.idm.entity.entity.url | Direkt aus dem Feld „resource.data.selfLink“ im Rohlog zugeordnet. |
resource.data.timeCreated | event.idm.entity.entity.resource.attribute.creation_time | Aus dem Feld „resource.data.timeCreated“ im Rohlog in das Zeitstempelformat konvertiert. |
resource.data.updated | event.idm.entity.entity.resource.attribute.last_update_time | Aus dem Feld „resource.data.updated“ im Rohlog in das Zeitstempelformat konvertiert. |
resource.discoveryDocumentUri | event.idm.entity.entity.file.full_path | Direkt aus dem Feld „resource.discoveryDocumentUri“ im Rohlog zugeordnet. |
resource.labels.cluster_name | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „resource.labels.cluster_name“ im Rohlog zugeordnet. |
resource.labels.container_name | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „resource.labels.container_name“ im Rohlog abgeleitet. |
resource.labels.location | event.idm.entity.entity.location.name | Direkt aus dem Feld „resource.labels.location“ im Rohlog zugeordnet. |
resource.labels.namespace_name | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „resource.labels.namespace_name“ im Rohlog abgeleitet. |
resource.labels.pod_name | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „resource.labels.pod_name“ im Rohlog zugeordnet. |
resource.labels.project_id | event.idm.entity.entity.resource.attribute.cloud.project.id | Direkt aus dem Feld „resource.labels.project_id“ im Rohlog zugeordnet. |
resource.parent | event.idm.entity.entity.resource.parent | Direkt aus dem Feld „resource.parent“ im Rohlog zugeordnet. |
resource.type | event.idm.entity.entity.resource.type | Direkt aus dem Feld „resource.type“ im Rohlog zugeordnet. |
resource.version | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „resource.version“ im Rohlog zugeordnet. |
textPayload | event.idm.entity.entity.resource.attribute.labels.value | Direkt aus dem Feld „textPayload“ im Rohlog 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 Ereigniszeitstempel ist der Zeitstempel des Logeintrags. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten