Collect Google Cloud Abuse Events logs
This document describes how you can collect Google Cloud Abuse Events logs by enabling Google Cloud telemetry ingestion to Google SecOps and how log fields of Google Cloud Abuse Events logs map to Google SecOps Unified Data Model (UDM) fields.
For more information, see Data ingestion to Google Security Operations .
The deployment contains the following components:
-  Google Cloud: The Google Cloud services and products from which you collect logs. 
-  Google Cloud Abuse Events logs: The Google Cloud Abuse Events logs that are enabled for ingestion to Google SecOps. 
-  Google SecOps: Google SecOps retains and analyzes the logs from Google Cloud Abuse Events. 
An ingestion label identifies the parser which normalizes raw log data
to structured UDM format. The information in this document applies to the parser
with the GCP_ABUSE_EVENTS 
ingestion label.
Before you begin
Make sure all systems in the deployment architecture are configured in the UTC time zone.
Configure Google Cloud to ingest Google Cloud Abuse Events logs
To ingest Google Cloud Abuse Events logs to Google SecOps, follow the steps in Ingest Google Cloud logs to Google SecOps .
A typical deployment consists of Google Cloud Abuse Events logs enabled for ingestion to Google SecOps. Each customer deployment might differ from this representation and might be more complex.
If you encounter issues when you ingest Google Cloud Abuse Events logs, contact Google SecOps support .
Supported Google Cloud Abuse Events log format and sample
The Google Cloud Abuse Events parser supports logs in JSON format. The following is an example:
 {
        "insertId": "dummy-insert-id",
        "jsonPayload": {
            "action": "NOTIFY",
            "@type": "type.googleapis.com/google.cloud.abuseevent.logging.v1.AbuseEvent",
            "cryptoMiningEvent": {
                "detectedMiningEndTime": "2048-03-18T07: 10: 00Z",
                "detectedMiningStartTime": "2016-07-10T05: 24: 00Z",
                "vmIp": [
                    "dummy.ip.address.1",
                    "dummy.ip.address.2",
                    "dummy.ip.address.3"
                ],
                "vmResource": [
                    "projects/dummy-project-id/zones/dummy-zone/instances/dummy-instance-id"
                ]
            },
            "detectionType": "CRYPTO_MINING",
            "reason": "The monitored resource is mining cryptocurrencies",
            "remediationLink": "https://dummy-remediation-link"
        },
        "resource": {
            "type": "abuseevent.googleapis.com/Location",
            "labels": {
                "location": "global",
                "resource_container": "projects/dummy-resource-container-id"
            }
        },
        "timestamp": "2025-07-10T17:31:53.966189618Z",
        "severity": "NOTICE",
        "labels": {
            "abuseevent.googleapis.com/vm_resource": "projects/dummy-project-id/zones/dummy-zone/instances/dummy-instance-id"
        },
        "logName": "projects/dummy-project-id/logs/abuseevent.googleapis.com%2Fabuse_events",
        "receiveTimestamp": "2025-07-10T17:31:54.754890208Z"
    } 
 
Field mapping reference
Field mapping reference: GCP_ABUSE_EVENTS
The following table lists the log fields and their corresponding UDM fields.
metadata.event_type 
metadata.event_type 
UDM field is set to SCAN_UNCATEGORIZED 
.metadata.vendor_name 
metadata.vendor_name 
UDM field is set to Google Cloud Platform 
.metadata.product_name 
metadata.product_name 
UDM field is set to GCP Abuse Events 
.insertId 
metadata.product_log_id 
resource.type 
target.resource.resource_subtype 
resource.labels.location 
target.location.name 
timestamp 
metadata.event_timestamp 
security_result.severity 
severity 
log field value is equal to CRITICAL 
then, the security_result.severity 
UDM field is set to CRITICAL 
.Else, if
severity 
log field value is equal to ERROR 
then, the security_result.severity 
UDM field is set to ERROR 
.Else, if
severity 
log field value contain one of the following values -  ALERT
-  EMERGENCY
security_result.severity 
UDM field is set to HIGH 
.Else, if
severity 
log field value contain one of the following values -  INFO
-  NOTICE
security_result.severity 
UDM field is set to INFORMATIONAL 
.Else, if
severity 
log field value is equal to DEBUG 
then, the security_result.severity 
UDM field is set to LOW 
.Else, if
severity 
log field value is equal to WARNING 
then, the security_result.severity 
UDM field is set to MEDIUM 
.Else, the
security_result.severity 
UDM field is set to UNKNOWN_SEVERITY 
.severity 
security_result.severity_details 
logName 
metadata.url_back_to_product 
receiveTimestamp 
metadata.collected_timestamp 
jsonPayload.detectionType 
security_result.category_details 
security_result.category 
security_result.category_mapping 
log field value is equal to DETECTION_TYPE_UNSPECIFIED 
then, the security_result.category 
UDM field is set to UNKNOWN_CATEGORY 
.Else, if
security_result.category_mapping 
log field value is equal to CRYPTO_MINING 
then, the security_result.category 
UDM field is set to EXPLOIT 
.Else, if
security_result.category_mapping 
log field value is equal to LEAKED_CREDENTIALS 
then, the security_result.category 
UDM field is set to PHISHING 
.Else, if
security_result.category_mapping 
log field value is equal to PHISHING 
then, the security_result.category 
UDM field is set to PHISHING 
.Else, if
security_result.category_mapping 
log field value is equal to MALWARE 
then, the security_result.category 
UDM field is set to SOFTWARE_MALICIOUS 
.Else, if
security_result.category_mapping 
log field value is equal to NO_ABUSE 
then, the security_result.category 
UDM field is set to POLICY_VIOLATION 
.jsonPayload.reason 
security_result.description 
security_result.action 
jsonPayload.action 
log field value is equal to ACTION_TYPE_UNSPECIFIED 
then, the security_result.action 
UDM field is set to UNKNOWN_ACTION 
.Else, if the
jsonPayload.action 
log field value is equal to NOTIFY 
then, the security_result.action 
UDM field is set to ALLOW 
.Else, if the
jsonPayload.action 
log field value is equal to PROJECT_SUSPENSION 
then, the security_result.action 
UDM field is set to BLOCK 
.Else, if the
jsonPayload.action 
log field value is equal to REINSTATE 
then, the security_result.action 
UDM field is set to ALLOW 
.Else, if the
jsonPayload.action 
log field value is equal to WARN 
then, the security_result.action 
UDM field is set to ALLOW 
.Else, if the
jsonPayload.action 
log field value is equal to RESOURCE_SUSPENSION 
then, the security_result.action 
UDM field is set to BLOCK 
.labels.abuseevent.googleapis.com/vm_resource 
principal.resource.name 
principal.resource.resource_type 
event_type.crypto_mining_event.vm_resource 
log field value is not 
empty then, the target.resource.resource_type 
UDM field is set to VIRTUAL_MACHINE 
.jsonPayload.cryptoMiningEvent.detectedMiningStartTime 
security_result.detection_fields[detected_mining_start_time] 
jsonPayload.cryptoMiningEvent.detectedMiningEndTime 
security_result.detection_fields[detected_mining_end_time] 
jsonPayload.cryptoMiningEvent.vmIp 
principal.ip 
jsonPayload.leaked_credential_event.credential_type.service_account_credential.service_account.service_account 
principal.user.userid 
jsonPayload.leaked_credential_event.credential_type.service_account_credential.service_account.key_id 
principal.user.attribute.labels[service_account_key_id] 
jsonPayload.leakedCredentialEvent.apiKeyCredential.apiKey 
principal.user.attribute.labels[api_key_credential_api_key] 
jsonPayload.leakedCredentialEvent.detectedUri 
security_result.about.url 
jsonPayload.harmfulContentEvent.uri 
security_result.detection_fields[harmful_content_event_uri] 
jsonPayload.remediationLink 
security_result.detection_fields[remediation_link] 
jsonPayload.@type 
security_result.detection_fields[jsonPayload_type] 
resource.labels.resource_container 
principal.resource.attribute.labels[resource_container] 
What's next
Need more help? Get answers from Community members and Google SecOps professionals.

