In diesem Dokument wird beschrieben, wie Sie Jfrog Artifactory-Logs mit BindPlane in Google Security Operations aufnehmen. Der Parser verarbeitet zwei verschiedene JFrog Artifactory-Logformate. Es verwendet Grok-Muster, um Felder aus den einzelnen Formaten zu identifizieren und zu extrahieren. Anschließend werden diese Felder der UDM zugeordnet. Dabei werden JSON-Nutzlasten in einem der Formate verarbeitet und Logs, die keinem der Formate entsprechen, werden verworfen.
Hinweise
Prüfen Sie, ob Sie eine Google SecOps-Instanz haben.
Achten Sie darauf, dass Sie Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
Wenn Sie einen Proxy verwenden, müssen die Firewallports geöffnet sein.
Prüfen Sie, ob Sie privilegierten Zugriff auf die Jfrog Artifactory-Instanz haben.
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
Melden Sie sich in der Google SecOps-Konsole an.
Rufen Sie SIEM-Einstellungen > Collection Agents auf.
Laden Sie die Authentifizierungsdatei für die Aufnahme herunter. Speichern Sie die Datei sicher auf dem System, auf dem BindPlane installiert wird.
Google SecOps-Kundennummer abrufen
Melden Sie sich in der Google SecOps-Konsole an.
Rufen Sie die SIEM-Einstellungen > „Profil“ auf.
Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.
BindPlane-Agent installieren
Fenstereinbau
Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren
Greifen Sie auf die Konfigurationsdatei zu:
Suchen Sie die Datei config.yaml. Normalerweise befindet es sich unter Linux im Verzeichnis /etc/bindplane-agent/ oder unter Windows im Installationsverzeichnis.
Öffnen Sie die Datei mit einem Texteditor (z. B. nano, vi oder Notepad).
Bearbeiten Sie die Datei config.yamlso:
```yamlreceivers:udplog:# Replace the port and IP address as requiredlisten_address:"0.0.0.0:514"exporters:chronicle/chronicle_w_labels:compression:gzip# Adjust the path to the credentials file you downloaded in Step 1creds:'/path/to/ingestion-authentication-file.json'# Replace with your actual customer ID from Step 2customer_id:<customer_id>
endpoint:malachiteingestion-pa.googleapis.com# Add optional ingestion labels for better organizationingestion_labels:log_type:'JFROG_ARTIFACTORY'raw_log_field:bodyservice:pipelines:logs/source0__chronicle_w_labels-0:receivers:-udplogexporters:-chronicle/chronicle_w_labels```
Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.
Ersetzen Sie <customer_id> durch die tatsächliche Kunden-ID.
Speichern Sie die Datei, indem Sie auf der Tastatur auf die Taste ESC (Esc) klicken und :wq eingeben.
UDM-Zuordnungstabelle
Logfeld
UDM-Zuordnung
Logik
Aktion
read_only_udm.metadata.product_event_type
Der Wert von action aus dem Rohlog wird in Kleinbuchstaben umgewandelt und zugeordnet.
datetime
read_only_udm.metadata.event_timestamp
Das Feld datetime des Rohlogs wird geparst und in einen Zeitstempel umgewandelt.
hostname
read_only_udm.principal.hostname
Direkt aus dem Feld hostname des Rohlogs zugeordnet.
id
read_only_udm.metadata.product_log_id
Direkt aus dem Feld id des Rohlogs (aus der JSON-Nutzlast) zugeordnet.
ip
read_only_udm.principal.ip
Direkt aus dem Feld ip des Rohlogs zugeordnet. Fest codiert auf „USER_RESOURCE_ACCESS“. Fest codiert auf „JFROG_ARTIFACTORY“. Fest codiert auf „Artifactory“. Fest codiert auf „JFROG“.
Inhaber
read_only_udm.principal.user.userid
Wird zugeordnet, wenn username nicht im Rohlog (aus der JSON-Nutzlast) vorhanden ist.
repo_name
read_only_udm.target.resource.name
Direkt aus dem Feld repo_name des Rohlogs zugeordnet.
repo_type
read_only_udm.target.resource.resource_subtype
Direkt aus dem Feld repo_type des Rohlogs zugeordnet.
Bereich
read_only_udm.target.resource.name
Direkt aus dem Feld scope des Rohlogs (aus der JSON-Nutzlast) zugeordnet.
Bereich
read_only_udm.target.resource.resource_subtype
Fest codiert auf „scope“, wenn scope im Rohlog vorhanden ist.
sequenceId
read_only_udm.metadata.product_log_id
Anführungszeichen werden aus dem Feld sequenceId entfernt und dann zugeordnet.
subject
read_only_udm.about.labels.key
Fest codiert auf „subject“, wenn subject im Rohlog vorhanden ist.
subject
read_only_udm.about.labels.value
Direkt aus dem Feld subject des Rohlogs (aus der JSON-Nutzlast) zugeordnet.
type
read_only_udm.metadata.product_event_type
Direkt aus dem Feld type des Rohlogs (aus der JSON-Nutzlast) zugeordnet.
Nutzer
read_only_udm.principal.user.userid
Direkt aus dem Feld user des Rohlogs zugeordnet.
Nutzername
read_only_udm.principal.user.userid
Direkt aus dem Feld username des Rohlogs (aus der JSON-Nutzlast) zugeordnet.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-09-02 (UTC)."],[[["\u003cp\u003eThis guide provides instructions for collecting JFrog Artifactory logs and ingesting them into Google SecOps via a webhook feed, supporting two distinct log formats.\u003c/p\u003e\n"],["\u003cp\u003eSetting up the integration involves configuring a webhook feed within Google SecOps, including generating a secret key and setting up an endpoint URL, then creating an API key in the Google Cloud console.\u003c/p\u003e\n"],["\u003cp\u003eWithin JFrog Artifactory, users must create a webhook, specifying the Google SecOps endpoint URL and relevant events to trigger the sending of log data.\u003c/p\u003e\n"],["\u003cp\u003eThe parser uses grok patterns to identify and extract data from JFrog Artifactory logs, mapping the extracted data to the Unified Data Model (UDM), as detailed in the provided UDM Mapping Table.\u003c/p\u003e\n"],["\u003cp\u003eThis feature is pre-GA and will have changes that might not be backwards compatible with older versions, and has limited support, per the provided service terms.\u003c/p\u003e\n"]]],[],null,["# Collect JFrog Artifactory 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\nThis document explains how to ingest Jfrog Artifactory logs to Google Security Operations using Bindplane. The parser handles two different JFrog Artifactory log formats. It uses grok patterns to identify and extract fields from each format. It then maps those fields to the UDM, handling JSON payloads within one of the formats and dropping logs that don't match either format.\n\nBefore you begin\n----------------\n\n- Ensure that you have a Google SecOps instance.\n- Ensure that you are using Windows 2016 or later, or a Linux host with `systemd`.\n- If running behind a proxy, ensure firewall [ports](/chronicle/docs/ingestion/use-bindplane-agent#verify_the_firewall_configuration) are open.\n- Ensure that you have privileged access to Jfrog Artifactory instance.\n\nGet Google SecOps ingestion authentication file\n-----------------------------------------------\n\n1. Sign in to the Google SecOps console.\n2. Go to **SIEM Settings \\\u003e Collection Agents**.\n3. Download the **Ingestion Authentication File**. Save the file securely on the system where Bindplane will be installed.\n\nGet Google SecOps customer ID\n-----------------------------\n\n1. Sign in to the Google SecOps console.\n2. Go to **SIEM Settings \\\u003e Profile**.\n3. Copy and save the **Customer ID** from the **Organization Details** section.\n\nInstall the Bindplane agent\n---------------------------\n\n### Windows installation\n\n1. Open the **Command Prompt** or **PowerShell** as an administrator.\n2. Run the following command:\n\n msiexec /i \"https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi\" /quiet\n\n### Linux installation\n\n1. Open a terminal with root or sudo privileges.\n2. Run the following command:\n\n sudo sh -c \"$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)\" install_unix.sh\n\n### Additional installation resources\n\n- For additional installation options, consult this [installation guide](/chronicle/docs/ingestion/use-bindplane-agent#install_the_bindplane_agent).\n\nConfigure the Bindplane agent to ingest Syslog and send to Google SecOps\n------------------------------------------------------------------------\n\n1. Access the configuration file:\n\n 1. Locate the `config.yaml` file. Typically, it's in the `/etc/bindplane-agent/` directory on Linux or in the installation directory on Windows.\n 2. Open the file using a text editor (for example, `nano`, `vi`, or Notepad).\n2. Edit the `config.yaml` file as follows:\n\n ```yaml\n receivers:\n udplog:\n # Replace the port and IP address as required\n listen_address: \"0.0.0.0:514\"\n\n exporters:\n chronicle/chronicle_w_labels:\n compression: gzip\n # Adjust the path to the credentials file you downloaded in Step 1\n creds: '/path/to/ingestion-authentication-file.json'\n # Replace with your actual customer ID from Step 2\n customer_id: \u003ccustomer_id\u003e\n endpoint: malachiteingestion-pa.googleapis.com\n # Add optional ingestion labels for better organization\n ingestion_labels:\n log_type: 'JFROG_ARTIFACTORY'\n raw_log_field: body\n\n service:\n pipelines:\n logs/source0__chronicle_w_labels-0:\n receivers:\n - udplog\n exporters:\n - chronicle/chronicle_w_labels\n ```\n\n3. Replace the port and IP address as required in your infrastructure.\n\n4. Replace `\u003ccustomer_id\u003e` with the actual customer ID.\n\n5. Update `/path/to/ingestion-authentication-file.json` to the path where the authentication file was saved in the\n [Get Google SecOps ingestion authentication file](/chronicle/docs/ingestion/default-parsers/jfrog-artifactory#get-auth-file) section.\n\nRestart the Bindplane agent to apply the changes\n------------------------------------------------\n\n- To restart the Bindplane agent in Linux, run the following command:\n\n sudo systemctl restart bindplane-agent\n\n- To restart the Bindplane agent in Windows, you can either use the **Services** console or enter the following command:\n\n net stop BindPlaneAgent && net start BindPlaneAgent\n\nConfigure Jfrog Artifactory Syslog\n----------------------------------\n\n1. Connect to the **Jfrog Artifactory** instance.\n2. Edit the file `$JFROG_HOME/artifactory/var/etc/artifactory/logback.xml` using vi:\n\n vi $JFROG_HOME/artifactory/var/etc/artifactory/logback.xml\n\n3. Add the following syslog appender to the file:\n\n \u003cappender name=\"SYSLOG\" class= \"ch.qos.logback.classic.net.SyslogAppender\"\u003e\n \u003csyslogHost\u003eBindplane-Agent-IP\u003c/syslogHost\u003e\n \u003cfacility\u003eSYSLOG\u003c/facility\u003e\n \u003csuffixPattern\u003e[%thread] %logger %msg\u003c/suffixPattern\u003e\n \u003c/appender\u003e\n\n - Replace `Bindplane-Agent-IP` in syslogHost, with the actual IP address configured for the Bindplane agent.\n4. Add additional configuration data to the file:\n\n \u003croot\u003e\n \u003c level value=\"debug\"/\u003e\n \u003cappender-ref ref=\"CONSOLE\"/\u003e\n \u003cappender-ref ref=\"FILE\"/\u003e\n \u003cappender-ref ref=\"SYSLOG\"/\u003e\n \u003c/root\u003e\n\n5. Save the file by clicking the `ESC` (escape) button on your keyboard and typing `:wq`.\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)"]]