Logs zu Cloud Security Command Center-Posture-Verstößen erfassen
In diesem Dokument wird beschrieben, wie Sie Logs zu Sicherheitsverstößen aus Security Command Center mithilfe von Cloud Storage in Google Security Operations exportieren und aufnehmen. Der Parser wandelt Roh-JSON-Daten aus den Ergebnissen in ein einheitliches Datenmodell (Unified Data Model, UDM) um. Dabei werden relevante Felder extrahiert, die Daten neu strukturiert, den UDM-Feldern zugeordnet und verschiedene Validierungen und Anreicherungen durchgeführt, um die Datenqualität und Konsistenz zu gewährleisten.
Hinweise
- Google Cloud Security Command Center muss in Ihrer Umgebung aktiviert sein. Google Cloud
- Sie benötigen eine Google SecOps-Instanz.
- Sie benötigen Berechtigungen für Security Command Center und Cloud Logging.
Cloud Storage-Bucket erstellen
- Melden Sie sich in der Google Cloud Console 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. gcp-scc-posture-violation-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 Bereich 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ü „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 Optionen aus, die Sie für den Bucket festlegen möchten.
- 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.
Klicken Sie auf Erstellen.
Security Command Center-Logging konfigurieren
- Melden Sie sich in der Google Cloud Console an.
Rufen Sie die Seite Security Command Center auf.
Wählen Sie Ihre Organisation aus.
Klicken Sie auf Einstellungen.
Klicken Sie auf den Tab Kontinuierliche Exporte.
Klicken Sie unter Exportname auf Logging-Export.
Aktivieren Sie unter Senken die Option Ergebnisse in Logging in Logs speichern.
Geben Sie unter Logging-Projekt das Projekt ein, in dem Sie die Ergebnisse protokollieren möchten, oder suchen Sie nach dem Projekt.
Klicken Sie auf Speichern.
Google Cloud Export von Security Command Center-Logs zu Sicherheitsverstößen konfigurieren
- Melden Sie sich in der Google Cloud Console an.
- Gehen Sie zu Logging > Logrouter.
- Klicken Sie auf Senke erstellen.
Geben Sie die folgenden Konfigurationsparameter an:
- Name der Senke: Geben Sie einen aussagekräftigen Namen ein, z. B.
scc-posture-violation-logs-sink
. - Sink-Ziel: Wählen Sie Cloud Storage aus und geben Sie den URI für Ihren Bucket ein, z. B.
gs://gcp-scc-posture-violation-logs
. Log-Filter:
logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Fposture_violations" resource.type="cloud_security_center_posture_violation"
Exportoptionen festlegen: Alle Logeinträge einschließen.
- 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.
Einen Feed in Google SecOps konfigurieren, um Google Cloud Security Command Center-Logs zu Posture-Verstößen aufzunehmen
- Gehen Sie zu SIEM-Einstellungen > Feeds.
- Klicken Sie auf Neu hinzufügen.
- Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Google Cloud Security Command Center-Protokolle zu Posture-Verstößen.
- Wählen Sie Google Cloud Storage als Quelltyp aus.
- Wählen Sie Security Command Center-Posture-Verstoß als Logtyp aus.
- Klicken Sie neben dem Feld Chronicle-Dienstkonto auf Dienstkonto abrufen.
- Klicken Sie auf Weiter.
Geben Sie Werte für die folgenden Eingabeparameter an:
- Storage Bucket-URI: Cloud Storage-Bucket-URL, z. B.
gs://gcp-scc-posture-violation-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.
- Storage Bucket-URI: Cloud Storage-Bucket-URL, z. B.
Klicken Sie auf Weiter.
Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
Kategorie | read_only_udm.metadata.product_event_type | Direkte Zuordnung. |
changed_policy | read_only_udm.security_result.rule_name | Direkte Zuordnung. |
cloudProvider | read_only_udm.target.resource.attribute.cloud.environment | Direkte Zuordnung. |
createTime | read_only_udm.security_result.detection_fields[createTime ] |
Direkte Zuordnung. |
finding.risks.riskCategory | read_only_udm.security_result.detection_fields[risk_category ] |
Direkte Zuordnung. |
mute | read_only_udm.security_result.detection_fields[mute ] |
Direkte Zuordnung. |
Name | read_only_udm.metadata.product_log_id | Direkte Zuordnung. |
originalProviderId | read_only_udm.target.resource.attribute.labels[original_provider_id ] |
Direkte Zuordnung. |
Übergeordnetes Element | read_only_udm.target.resource_ancestors[0].name | Direkte Zuordnung. |
parentDisplayName | read_only_udm.metadata.description | Direkte Zuordnung. |
propertyDataTypes.changed_policy.primitiveDataType | read_only_udm.security_result.rule_labels[changed_policy_primitive_data_type ] |
Direkte Zuordnung. |
propertyDataTypes.policy_drift_details.listValues.propertyDataTypes[0].structValue.fields.drift_details.structValue.fields.detected_configuration.primitiveDataType | read_only_udm.security_result.rule_labels[detected_configuration_primitive_data_type ] |
Direkte Zuordnung. |
propertyDataTypes.policy_drift_details.listValues.propertyDataTypes[0].structValue.fields.drift_details.structValue.fields.expected_configuration.primitiveDataType | read_only_udm.security_result.rule_labels[expected_configuration_primitive_data_type ] |
Direkte Zuordnung. |
propertyDataTypes.policy_drift_details.listValues.propertyDataTypes[0].structValue.fields.field_name.primitiveDataType | read_only_udm.security_result.rule_labels[field_name_primitive_data_type ] |
Direkte Zuordnung. |
propertyDataTypes.posture_deployment_name.primitiveDataType | read_only_udm.security_result.detection_fields[posture_deployment_name_primitiveDataType ] |
Direkte Zuordnung. |
propertyDataTypes.posture_deployment_resource.primitiveDataType | read_only_udm.security_result.detection_fields[posture_deployment_resource_primitiveDataType ] |
Direkte Zuordnung. |
propertyDataTypes.posture_name.primitiveDataType | read_only_udm.security_result.detection_fields[posture_name_primitiveDataType ] |
Direkte Zuordnung. |
propertyDataTypes.posture_revision_id.primitiveDataType | read_only_udm.security_result.detection_fields[posture_revision_id_primitiveDataType ] |
Direkte Zuordnung. |
resource.cloudProvider | read_only_udm.target.resource.attribute.cloud.environment | Direkte Zuordnung. |
resource.displayName | read_only_udm.target.resource.attribute.labels[resource_displayName ] |
Direkte Zuordnung. |
resource.gcpMetadata.organization | read_only_udm.target.resource.attribute.labels[resource_organization ] |
Direkte Zuordnung. |
resource.gcpMetadata.parent | read_only_udm.target.resource.attribute.labels[resource_parent ] |
Direkte Zuordnung. |
resource.gcpMetadata.parentDisplayName | read_only_udm.target.resource.attribute.labels[resource_parentDisplayName ] |
Direkte Zuordnung. |
resource.gcpMetadata.project | read_only_udm.target.resource.attribute.labels[resource_project ] |
Direkte Zuordnung. |
resource.gcpMetadata.projectDisplayName | read_only_udm.target.resource.attribute.labels[resource_projectDisplayName ] |
Direkte Zuordnung. |
resource.organization | read_only_udm.target.resource.attribute.labels[resource_organization ] |
Direkte Zuordnung. |
resource.resourcePath.nodes.displayName | read_only_udm.target.resource_ancestors.name | Direkte Zuordnung. |
resource.resourcePath.nodes.id | read_only_udm.target.resource_ancestors.product_object_id | Direkte Zuordnung. |
resource.resourcePath.nodes.nodeType | read_only_udm.target.resource_ancestors.resource_subtype | Direkte Zuordnung. |
resource.resourcePathString | read_only_udm.target.resource.attribute.labels[resource_path_string ] |
Direkte Zuordnung. |
resource.service | read_only_udm.target.resource_ancestors[10].name | Direkte Zuordnung. |
resource.type | read_only_udm.target.resource.attribute.labels[resource_type ] |
Direkte Zuordnung. |
resourceName | read_only_udm.target.resource.name | Direkte Zuordnung. |
securityPosture.changedPolicy | read_only_udm.security_result.rule_labels[changed_policy ] |
Direkte Zuordnung. |
securityPosture.name | read_only_udm.security_result.detection_fields[security_posture_name ] |
Direkte Zuordnung. |
securityPosture.policyDriftDetails[0].detectedValue | read_only_udm.security_result.rule_labels[policy_drift_details_detected_value ] |
Direkte Zuordnung. |
securityPosture.policyDriftDetails[0].expectedValue | read_only_udm.security_result.rule_labels[policy_drift_details_expected_value ] |
Direkte Zuordnung. |
securityPosture.policyDriftDetails[0].field | read_only_udm.security_result.rule_labels[policy_drift_details_field ] |
Direkte Zuordnung. |
securityPosture.policySet | read_only_udm.security_result.rule_set | Direkte Zuordnung. |
securityPosture.postureDeployment | read_only_udm.security_result.detection_fields[posture_deployment ] |
Direkte Zuordnung. |
securityPosture.postureDeploymentResource | read_only_udm.security_result.detection_fields[posture_deployment_resource ] |
Direkte Zuordnung. |
securityPosture.revisionId | read_only_udm.security_result.detection_fields[security_posture_revision_id ] |
Direkte Zuordnung. |
die Ausprägung | read_only_udm.security_result.severity | Direkte Zuordnung. |
sourceProperties.categories[0] | read_only_udm.security_result.detection_fields[source_properties_categories ] |
Direkte Zuordnung. |
sourceProperties.changed_policy | read_only_udm.security_result.rule_name | Direkte Zuordnung. |
sourceProperties.name | read_only_udm.target.application | Direkte Zuordnung. |
sourceProperties.policy_drift_details[0].drift_details.detected_configuration | read_only_udm.security_result.rule_labels[policy_drift_details_detected_configuration ] |
Direkte Zuordnung. |
sourceProperties.policy_drift_details[0].drift_details.expected_configuration | read_only_udm.security_result.rule_labels[policy_drift_details_expected_configuration ] |
Direkte Zuordnung. |
sourceProperties.policy_drift_details[0].field_name | read_only_udm.security_result.rule_labels[policy_drift_details_field_name ] |
Direkte Zuordnung. |
sourceProperties.posture_deployment | read_only_udm.security_result.detection_fields[source_properties_posture_deployment_name ] |
Direkte Zuordnung. |
sourceProperties.posture_deployment_name | read_only_udm.security_result.detection_fields[source_properties_posture_deployment_name ] |
Direkte Zuordnung. |
sourceProperties.posture_deployment_resource | read_only_udm.security_result.detection_fields[source_properties_posture_deployment_resource ] |
Direkte Zuordnung. |
sourceProperties.posture_name | read_only_udm.target.application | Direkte Zuordnung. |
sourceProperties.posture_revision_id | read_only_udm.security_result.detection_fields[source_properties_posture_revision_id ] |
Direkte Zuordnung. |
sourceProperties.revision_id | read_only_udm.security_result.detection_fields[source_properties_posture_revision_id ] |
Direkte Zuordnung. |
Status | read_only_udm.security_result.detection_fields[state ] |
Direkte Zuordnung. |
read_only_udm.metadata.vendor_name | Der Parser ordnet den statischen Wert Google zu. |
|
read_only_udm.metadata.product_name | Der Parser ordnet den statischen Wert Security Command Center zu. |
|
read_only_udm.target.resource.resource_type | Der Parser ordnet den statischen Wert CLUSTER zu. |
|
read_only_udm.security_result.about.investigation.status | Der Parser ordnet den statischen Wert NEW zu. |
|
read_only_udm.security_result.alert_state | Der Parser ordnet den statischen Wert ALERTING zu. |
|
read_only_udm.is_alert | Der Parser ordnet den statischen Wert true zu. |
|
read_only_udm.is_significant | Der Parser ordnet den statischen Wert true zu. |
|
read_only_udm.metadata.event_type | Der Parser ordnet GENERIC_EVENT als Standardwert zu. Wenn das Feld „category“ dem Wert „SECURITY_POSTURE_DRIFT“ entspricht und „client_device_present“ und „token_target.application“ nicht leer sind, wird „SERVICE_MODIFICATION“ zugeordnet. Wenn das Feld „category“ den Wert „SECURITY_POSTURE_POLICY_DRIFT“, „SECURITY_POSTURE_POLICY_DELETE“, „SECURITY_POSTURE_DETECTOR_DRIFT“ oder „SECURITY_POSTURE_DETECTOR_DELETE“ hat und „network_edr_not_present“ auf „false“ und „client_device_present“ auf „true“ festgelegt ist, wird „SCAN_UNCATEGORIZED“ zugewiesen. Wenn das Feld „token_metadata.event_type“ dem Wert „GENERIC_EVENT“ entspricht, „network_edr_not_present“ auf „false“ und „client_device_present“ auf „true“ gesetzt ist, wird „STATUS_UPDATE“ zugeordnet. |
|
read_only_udm.target.resource_ancestors[1].resource_type | Der Parser ordnet den statischen Wert CLOUD_PROJECT zu. |
|
read_only_udm.target.resource.product_object_id | Der Parser extrahiert den Wert aus dem Feld „parent“, zwischen dem zweiten und dritten „/“-Zeichen. | |
read_only_udm.target.resource_ancestors[1].name | Der Parser extrahiert den Wert aus dem Feld „resourceName“ zwischen dem vierten und fünften „/“-Zeichen. | |
read_only_udm.security_result.url_back_to_product | Der Parser erstellt die URL dynamisch anhand der aus dem Protokoll extrahierten IDs für Organisation, Quelle und Ergebnisse. | |
securityMarks.name | read_only_udm.security_result.detection_fields[securityMarks_name ] |
Direkte Zuordnung. |
Änderungen
2025-02-07
- Die Zuordnung für das UDM-Feld
security_result.url_back_to_product
wurde aktualisiert. Der Wert der Projekt-ID aus dem Wert des Rohlogsresource.projectDisplayName
wurde an das Ende der URL angehängt, die dem UDM-Feldsecurity_result.url_back_to_product
mit dem Präfix;?project=
zugeordnet ist.
2024-11-21
- Die Unterstützung für die Version 2 der SCC API wurde hinzugefügt. Im Rahmen des Updates wurden die folgenden Felder hinzugefügt:
- resource.gcpMetadata.project
- resource.gcpMetadata.projectDisplayName
- resource.gcpMetadata.parent
- resource.gcpMetadata.parentDisplayName
- resource.gcpMetadata.folders.resourceFolder
- resource.gcpMetadata.folders.resourceFolderDisplayName
- resource.gcpMetadata.organization
2024-03-20
- Neu erstellter Parser.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten