Esse analisador extrai informações importantes, como data e hora, IDs de usuários, IPs de origem, ações e IDs de objetos de registros formatados em JSON e SYSLOG. Ele usa padrões grok para corresponder a vários formatos de mensagens de registro, processando variações na estrutura e preenchendo um modelo de dados unificado (UDM) com os campos extraídos. O analisador também categoriza eventos com base na presença de informações do usuário ou de IP.
Antes de começar
Verifique se você atende aos seguintes pré-requisitos:
Instância do Google SecOps.
Acesso privilegiado ao Google Cloud IAM.
Acesso privilegiado ao Google Cloud armazenamento.
Acesso privilegiado ao Jenkins.
Criar um Google Cloud bucket do Storage
Acesse o Cloud Storage
Crie um bucket. Escolha um nome exclusivo e uma região adequada.
Verifique se o bucket tem controles de acesso adequados. Por exemplo, apenas contas de serviço autorizadas podem gravar nele.
Crie uma Google Cloud conta de serviço
Acesse IAM e administrador>Contas de serviço.
Crie uma nova conta de serviço. Dê um nome descritivo (por exemplo, jenkins-logs).
Conceda à conta de serviço o papel Criador de objetos do Storage no bucket do GCS criado na etapa anterior.
Faça o download de um arquivo de chave JSON para a conta de serviço.
Instalar o plug-in do Storage no Jenkins Google Cloud
Acesse Gerenciar o Jenkins>Plug-ins.
Selecione Plugins disponíveis.
Pesquise o plug-in Google Cloud Storage.
Instale o plug-in e reinicie o Jenkins, se necessário.
Instalar o plug-in de credenciais do Google OAuth no Jenkins
Acesse Gerenciar o Jenkins>Plug-ins.
Selecione Plug-ins disponíveis.
Pesquise o plug-in Credenciais do OAuth do Google.
Instale o plug-in e reinicie o Jenkins, se necessário.
Configurar o Jenkins para autenticar com o Google Cloud
Acesse Gerenciar o Jenkins>Credenciais>Sistema.
Clique em
add
Adicionar credenciais.
Tipo: selecione Conta de serviço do Google da chave privada.
Nome do projeto: defina um nome para as credenciais.
Faça upload do arquivo de chave JSON que você recebeu durante a Google Cloud criação da conta de serviço.
Clique em Criar.
Configurar os registros do Jenkins para fazer upload do Google SecOps
Na configuração do job do Jenkins, adicione Upload do registro de build do Google Storage em ações pós-build, com os seguintes parâmetros:
Credenciais do Google: o nome das credenciais do Google que você criou na etapa anterior.
Nome do registro: o nome do arquivo para armazenar o registro de build do Jenkins no caminho de armazenamento especificado.
Local de armazenamento: o nome do bucket em que você quer fazer upload dos registros. O bucket precisa estar acessível à conta de serviço criada.
Teste o upload de registros.
Configurar feeds
Para configurar um feed, siga estas etapas:
Acesse Configurações do SIEM>Feeds.
Clique em Adicionar novo feed.
Na próxima página, clique em Configurar um único feed.
No campo Nome do feed, insira um nome para o feed, por exemplo, Registros do Jenkins.
Selecione Google Cloud Storage como o Tipo de origem.
Selecione Jenkins como o Tipo de registro.
Clique em Receber conta de serviço como a Conta de serviço do Chronicle.
Clique em Próxima.
Especifique valores para os seguintes parâmetros de entrada:
URI do bucket de armazenamento: Google Cloud URL do bucket de armazenamento no formato gs://my-bucket/<value>.
O URI é um: selecione Diretório que inclui subdiretórios.
Opções de exclusão de fontes: selecione a opção de exclusão de acordo com sua preferência.
Clique em Próxima.
Revise a nova configuração do feed na tela Finalizar e clique em Enviar.
Tabela de mapeamento do UDM
Campo de registro
Mapeamento do UDM
Lógica
act
security_result.action_details
Extraído dos campos msg1 ou msg2. Representa a ação realizada. O espaço em branco à esquerda é removido.
dados
principal.user.userid OR principal.ip OR metadata.description
Se data corresponder a um padrão de endereço IP, ele será mapeado para principal.ip. Se ele corresponder a um padrão de nome de usuário, será mapeado para principal.user.userid. Caso contrário, ele será mapeado para metadata.description.
msg1
target.asset.product_object_id OU security_result.action_details
Usado para extrair objeto e ação. Se um / estiver presente, ele será dividido em objeto e ação. Se » estiver presente, ele será dividido em objeto e ação. Caso contrário, ele será tratado como ação e poderá ser analisado mais detalhadamente.
msg2
metadata.description OU security_result.action_details
Se presente, inicialmente mapeado para metadata.description. Se ele contiver "completed:", o valor após será extraído e mapeado para security_result.action_details.
object
target.asset.product_object_id
Extraído de msg1. Representa o objeto em que a ação foi realizada.
object_id
target.resource.attribute.labels.value
Extraído do objeto se um / estiver presente. Representa um identificador de objeto mais específico. A chave é codificada como "Plugin Name".
src_ip
principal.ip
Extraído de message ou data. Representa o endereço IP de origem.
user
principal.user.userid
Extraído de message ou data. Representa o usuário associado ao evento.
metadata.event_timestamp
Copiado do campo calculado @timestamp.
metadata.event_type
Determinado pela lógica do analisador. Definido como USER_UNCATEGORIZED se user estiver presente, STATUS_UNCATEGORIZED se src_ip estiver presente e GENERIC_EVENT caso contrário.
metadata.product_name
Fixado no código como Jenkins.
metadata.product_version
Fixado no código como Jenkins.
metadata.vendor_name
Fixado no código como JENKINS.
metadata.event_timestamp
Construído com base nos campos year, month, day, time e ampm.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-21 UTC."],[[["\u003cp\u003eThis guide explains how to collect Jenkins logs and send them to Google SecOps for analysis, using a parser to extract key data from JSON and SYSLOG formats.\u003c/p\u003e\n"],["\u003cp\u003eThe process involves creating a Google Cloud Storage bucket and service account, installing the Google Cloud Storage and OAuth Credentials plugins in Jenkins, and configuring Jenkins to authenticate with Google Cloud.\u003c/p\u003e\n"],["\u003cp\u003eJenkins logs are uploaded to a specified storage location through the configuration of post-build actions and setting Google Cloud as a destination.\u003c/p\u003e\n"],["\u003cp\u003eA feed in Google SecOps is configured to ingest the uploaded Jenkins logs, specifying the source type, log type, and storage bucket URI, along with other parameters for data handling.\u003c/p\u003e\n"],["\u003cp\u003eThe parser will map the Jenkins logs data into the unified data model (UDM), specifying the mapping between the fields in Jenkins logs and UDM fields.\u003c/p\u003e\n"]]],[],null,["# Collect Jenkins logs\n====================\n\nSupported in: \nGoogle secops [SIEM](/chronicle/docs/secops/google-secops-siem-toc)\n| **Note:** This feature is covered by [Pre-GA Offerings Terms](https://chronicle.security/legal/service-terms/) of the Google Security Operations Service Specific Terms. Pre-GA features might have limited support, and changes to pre-GA features might not be compatible with other pre-GA versions. For more information, see the [Google SecOps Technical Support Service guidelines](https://chronicle.security/legal/technical-support-services-guidelines/) and the [Google SecOps Service Specific Terms](https://chronicle.security/legal/service-terms/).\n\nOverview\n--------\n\nThis parser extracts key information such as timestamps, user IDs, source IPs, actions, and object IDs from JSON and SYSLOG formatted logs. It uses grok patterns to match various log message formats, handling variations in structure, and populates a unified data model (UDM) with the extracted fields. The parser also categorizes events based on the presence of user or IP information.\n\nBefore you begin\n----------------\n\nEnsure that you have the following prerequisites:\n\n- Google SecOps instance.\n- Privileged access to Google Cloud IAM.\n- Privileged access to Google Cloud Storage.\n- Privileged access to Jenkins.\n\nCreate a Google Cloud Storage Bucket\n------------------------------------\n\n1. Go to **Cloud Storage**.\n2. Create a new bucket. Choose a unique name and appropriate region.\n3. Ensure the bucket has proper access controls (for example, only authorized service accounts can write to it).\n\nCreate a Google Cloud Service account\n-------------------------------------\n\n1. Go to **IAM \\& Admin** \\\u003e **Service Accounts**.\n2. Create a new service account. Give it a descriptive name (for example, **jenkins-logs**).\n3. Grant the service account the **Storage Object Creator** role on the GCS bucket you created in the previous step.\n4. Create an SSH key for your service account: [Create and delete service account keys](/iam/docs/keys-create-delete).\n5. Download a JSON key file for the service account.\n\n | **Note:** Keep this file secure. You will need it for the **Google OAuth Credentials** plugin to create credentials.\n\nInstall Google Cloud Storage plugin in Jenkins\n----------------------------------------------\n\n1. Go to **Manage Jenkins** \\\u003e **Plugins**.\n2. Select **Available plugins**.\n3. Search for the **Google Cloud Storage** plugin.\n4. Install the plugin and restart Jenkins if required.\n\nInstall Google OAuth Credentials Plugin in Jenkins\n--------------------------------------------------\n\n1. Go to **Manage Jenkins** \\\u003e **Plugins**.\n2. Select **Available plugins**\n3. Search for the **Google OAuth Credentials** plugin.\n4. Install the plugin and restart Jenkins if required.\n\nConfigure Jenkins to authenticate with Google Cloud\n---------------------------------------------------\n\n1. Go to **Manage Jenkins** \\\u003e **Credentials** \\\u003e **System**.\n\n | **Note:** You can use **Global Credentials** or add a new domain (recommended).\n2. Click add **Add Credentials**.\n\n3. **Kind** : select **Google Service Account from private key**.\n\n4. **Project name**: set a name for the credentials.\n\n5. Upload the JSON key file you obtained during the Google Cloud Service account creation.\n\n6. Click **Create**.\n\nConfigure Jenkins logs to upload Google SecOps\n----------------------------------------------\n\n1. In the Jenkins job configuration, add **Google Storage Build Log Upload** in post-build actions, with the following parameters:\n - **Google Credentials**: The name of your Google credentials you created in the previous step.\n - **Log Name**: The name of the file to store the Jenkins build log, under the specified storage path.\n - **Storage Location**: The name of the bucket where you want to upload your logs. The bucket must be accessible to the service account you created.\n2. Test the log upload.\n\nSet up feeds\n------------\n\nTo configure a feed, follow these steps:\n\n1. Go to **SIEM Settings** \\\u003e **Feeds**.\n2. Click **Add New Feed**.\n3. On the next page, click **Configure a single feed**.\n4. In the **Feed name** field, enter a name for the feed; for example, **Jenkins Logs**.\n5. Select **Google Cloud Storage V2** as the **Source type**.\n6. Select **Jenkins** as the **Log type**.\n7. Click **Get Service Account** as the **Chronicle Service Account**.\n8. Specify values for the following input parameters:\n\n - **Storage Bucket URI** : Google Cloud storage bucket URL in **`gs://my-bucket/\u003cvalue\u003e`** format.\n - **Source deletion options**: select deletion option according to your preference.\n\n | **Note:** If you select the `Delete transferred files` or `Delete transferred files and empty directories` option, make sure that you granted appropriate permissions to the service account. \\* **Maximum File Age**: Includes files modified in the last number of days. Default is 180 days.\n9. Click **Create Feed**.\n\nUDM Mapping Table\n-----------------\n\n**Need more help?** [Get answers from Community members and Google SecOps professionals.](https://security.googlecloudcommunity.com/google-security-operations-2)"]]