Forwarder Management API

Anda dapat menggunakan Google Security Operations Forwarder Management API untuk melakukan hal berikut secara terprogram:

  • Membuat dan mengelola forwarder.
  • Membuat dan mengelola kolektor.
  • Dapatkan konten file untuk file konfigurasi (.conf) dan autentikasi (_auth.conf) penerusan Google Security Operations.

Pengirim terdiri dari satu atau beberapa kolektor. Setiap konfigurasi kolektor menentukan mekanisme penyerapan (misalnya, File, Kafka, PCAP, Splunk, atau Syslog) dan jenis log.

Dengan asumsi persyaratan hardware terpenuhi, Anda dapat menggunakan banyak kolektor di forwarder yang sama untuk menyerap data dari berbagai mekanisme dan jenis log. Misalnya, Anda dapat menginstal forwarder dengan dua kolektor syslog yang memproses data PAN_FIREWALL dan CISCO_ASA_FIREWALL di port terpisah.

API ini memungkinkan Anda membuat forwarder dan kolektornya di instance Google Security Operations. Setelah penerusan dibuat, Anda dapat menggunakan endpoint Generate Forwarder Files untuk mendapatkan konten file (sebagai payload JSON) untuk file konfigurasi (.conf) dan autentikasi (_auth.conf) penerusan. Konten ini kemudian dapat ditulis ke file .conf masing-masing untuk di-deploy dengan layanan Google Security Operations Forwarder di sistem Windows atau Linux.

Untuk contoh Python yang menggunakan Forwarder Management API, lihat repositori GitHub.

Membuat forwarder dan kolektornya

Pengirim harus dibuat sebelum kolektornya dapat dibuat.

Untuk membuat forwarder dan kolektornya:

  1. Buat penerusan.
  2. Buat kolektor untuk pengirim.
  3. (Opsional) Ulangi Langkah 2 untuk menambahkan lebih banyak kolektor.

Cara mengautentikasi dengan Google Security Operations API

Google Security Operations API ini menggunakan protokol OAuth 2.0 untuk autentikasi dan otorisasi. Aplikasi Anda dapat menyelesaikan tugas ini menggunakan salah satu implementasi berikut:

  • Menggunakan Library Klien Google API untuk bahasa komputer Anda.

  • Berinteraksi langsung dengan sistem OAuth 2.0 menggunakan HTTP.

Lihat dokumentasi referensi untuk library Autentikasi Google di Python.

Library Autentikasi Google adalah subset dari library klien Google API. Lihat implementasi bahasa lain.

Mendapatkan kredensial autentikasi API

Perwakilan Google Security Operations akan memberi Anda Kredensial Akun Layanan Developer Google untuk memungkinkan klien API berkomunikasi dengan API.

Anda juga harus memberikan Cakupan Autentikasi saat melakukan inisialisasi klien API. OAuth 2.0 menggunakan cakupan untuk membatasi akses aplikasi ke akun. Saat aplikasi meminta cakupan, token akses yang dikeluarkan untuk aplikasi dibatasi pada cakupan yang diberikan.

Gunakan cakupan berikut untuk melakukan inisialisasi klien Google API:

https://www.googleapis.com/auth/chronicle-backstory

Contoh Python

Contoh Python berikut menunjukkan cara menggunakan kredensial OAuth2 dan klien HTTP menggunakan google.oauth2 dan googleapiclient.

# Imports required for the sample - Google Auth and API Client Library Imports.
# Get these packages from https://pypi.org/project/google-api-python-client/ or run $ pip
# install google-api-python-client from your terminal
from google.auth.transport import requests
from google.oauth2 import service_account

SCOPES = ['https://www.googleapis.com/auth/chronicle-backstory']

# The apikeys-demo.json file contains the customer's OAuth 2 credentials.
# SERVICE_ACCOUNT_FILE is the full path to the apikeys-demo.json file
# ToDo: Replace this with the full path to your OAuth2 credentials
SERVICE_ACCOUNT_FILE = '/customer-keys/apikeys-demo.json'

# Create a credential using Google Developer Service Account Credential and Google Security Operations API
# Scope.
credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)

# Build a requests Session Object to make authorized OAuth requests.
http_session = requests.AuthorizedSession(credentials)

# Your endpoint GET|POST|PATCH|etc. code will vary below

# Reference List example (for US region)
url = 'https://backstory.googleapis.com/v2/lists/COLDRIVER_SHA256'

# You might need another regional endpoint for your API call; see
# https://cloud.google.com/chronicle/docs/reference/ingestion-api#regional_endpoints

# requests GET example
response = http_session.request("GET", url)

# POST example uses json
body = {
  "foo": "bar"
}
response = http_session.request("POST", url, json=body)

# PATCH example uses params and json
params = {
  "foo": "bar"
}
response = http_session.request("PATCH", url, params=params, json=body)

# For more complete examples, see:
# https://github.com/chronicle/api-samples-python/

Batas kueri Chronicle API

Chronicle API menerapkan batas pada volume permintaan yang dapat dilakukan oleh satu pelanggan terhadap platform Google Security Operations. Jika Anda mencapai atau melampaui batas kueri, server Chronicle API akan menampilkan HTTP 429 (RESOURCE_EXHAUSTED) kepada pemanggil. Saat mengembangkan aplikasi untuk Chronicle API, Google menyarankan agar Anda menerapkan pembatasan kapasitas dalam sistem untuk menghindari kehabisan resource. Batasan ini berlaku untuk semua Chronicle API, termasuk Search, Forwarder Management, dan Tooling API.

Lihat daftar mendetail tentang batas kueri Chronicle API.

Batas berikut untuk Chronicle Forwarder Management API sedang diterapkan dan diukur dalam kueri per detik (QPS):

Chronicle API Endpoint API Batas
Pengelolaan Pengirim Membuat Pengirim 1 QPS
Mendapatkan Ekspedisi 1 QPS
Mencantumkan Penerus 1 QPS
Memperbarui Pengirim Lanjutan 1 QPS
Menghapus Pengirim 1 QPS
Pengelolaan Kolektor Membuat Kolektor 1 QPS
Mendapatkan Kolektor 1 QPS
Mencantumkan Kolektor 1 QPS
Memperbarui Kolektor 1 QPS
Menghapus Kolektor 1 QPS

Referensi Forwarder API

Bagian ini menjelaskan endpoint untuk membuat dan mengelola forwarder. Untuk endpoint guna membuat dan mengelola kolektor, lihat Referensi Collector API.

Membuat Pengirim

Membuat forwarder baru di instance Google SecOps. Pengirim baru akan menyertakan nilai konfigurasi forwarder yang diberikan dalam isi permintaan. Nilai konfigurasi untuk pengumpul harus ditentukan menggunakan Buat Pengumpul setelah menggunakan Buat Pengirim.

Untuk setelan tertentu, nilai konfigurasi yang tidak ada atau bernilai nol dalam isi permintaan ditetapkan ke nilai default. Untuk mengetahui detail tentang kolom dan nilai forwarder, lihat Kolom konfigurasi forwarder.

Permintaan

POST https://backstory.googleapis.com/v2/forwarders

Isi permintaan
{
  "display_name": string,
  "config": {
    object (ForwarderConfig)
  }
}
Parameter isi
Kolom Jenis Wajib Deskripsi
display_name string Wajib Nama pengirim. Nama ini ditampilkan di antarmuka Google SecOps.
config objek Opsional Setelan konfigurasi untuk forwarder ini. Lihat Kolom konfigurasi forwarder.
Contoh permintaan

Contoh ini menunjukkan pasangan kunci:nilai yang diperlukan dalam permintaan Create Forwarder. Jika kolom tidak ditentukan dalam permintaan dan memiliki nilai default, nilai default akan diterapkan selama pembuatan forwarder. Untuk mengetahui detail tentang nilai default, lihat Kolom konfigurasi forwarder.

POST https://backstory.googleapis.com/v2/forwarders
{
  "display_name": "chronicle_forwarder"
}

Respons

Jika permintaan berhasil, respons akan menampilkan kode status HTTP 200 (OK).

Respons menunjukkan nilai konfigurasi yang diterapkan selama pembuatan forwarder. Nilai konfigurasi default diterapkan untuk setelan tertentu selama pembuatan resource jika kolom tersebut tidak ada atau bernilai nol dalam isi permintaan. Untuk mengetahui detailnya, lihat Kolom konfigurasi forwarder.

Kolom respons

Selain kolom yang ditentukan dalam permintaan dan kolom yang nilai default-nya diterapkan, respons mencakup kolom yang dihasilkan dan khusus output berikut.

Kolom Jenis Deskripsi
nama string ID resource forwarder. Formatnya adalah "forwarders/forwarderID". Misalnya:

forwarders/12ab3cd4-56ef-7ghi-j89k-1l23m4nopq56
state enum

Menentukan status forwarder saat ini. Nilai yang valid adalah:

  • AKTIF: Pengirim diizinkan untuk mengupload data.
  • DITANGGUHKAN: Pengirim tidak diizinkan untuk mengupload data.

Nilai defaultnya adalah ACTIVE.

Contoh respons

Ini adalah contoh respons yang ditampilkan untuk contoh permintaan di atas.

{
  "name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56",
  "displayName": "chronicle_forwarder",
  "config": {
    "uploadCompression": "false",
    "serverSettings": {
      "gracefulTimeout": 15,
      "drainTimeout": 10,
      "httpSettings": {
        "port": "8080",
        "host": "0.0.0.0",
        "readTimeout": "3",
        "readHeaderTimeout": "3",
        "writeTimeout": "3",
        "idleTimeout": "3"
        "routeSettings": {
          "availableStatusCode": "204",
          "readyStatusCode": "204",
          "unreadyStatusCode": "503"
        },
      },
    },
  },
  "state": "ACTIVE"
}

Mendapatkan Ekspedisi

Menampilkan forwarder.

Permintaan

GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}

Isi permintaan

Jangan sertakan isi permintaan.

Contoh permintaan
GET https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56
Contoh respons
{
  "name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56",
  "displayName": "chronicle_forwarder",
  "config": {
    "uploadCompression": "false",
    "serverSettings": {
      "gracefulTimeout": 15,
      "drainTimeout": 10,
      "httpSettings": {
        "port": "8080",
        "host": "0.0.0.0",
        "readTimeout": "3",
        "readHeaderTimeout": "3",
        "writeTimeout": "3",
        "idleTimeout": "3"
        "routeSettings": {
          "availableStatusCode": "204",
          "readyStatusCode": "204",
          "unreadyStatusCode": "503"
        },
      },
    },
  },
  "state": "ACTIVE"
}

Mencantumkan Penerus

Mencantumkan semua penerusan untuk instance Google SecOps.

Permintaan

GET https://backstory.googleapis.com/v2/forwarders

Contoh permintaan

GET https://backstory.googleapis.com/v2/forwarders

Respons

Menampilkan daftar forwarder.

Contoh respons
{
  "forwarders": [
    {
      "name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56",
      "displayName": "chronicle_forwarder_1",
      "config": {
        "uploadCompression": "false",
        "serverSettings": {
          "gracefulTimeout": 15,
          ...
         },
      },
      "state": "ACTIVE"
    },
    {
      "name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde57",
      "displayName": "chronicle_forwarder_2",
      "config": {
        "uploadCompression": "false",
        "serverSettings": {
          "gracefulTimeout": 15,
       ...
       },
      },
      "state": "ACTIVE"
    }
  ]
}

Memperbarui Pengirim Lanjutan

Anda dapat memperbarui pengirim menggunakan parameter kueri URL updateMask untuk menentukan kolom yang akan diperbarui.

Misalnya, untuk memperbarui nama tampilan, Anda akan menggunakan parameter kueri updateMask sebagai berikut dalam permintaan patch:

?updateMask=displayName

Isi permintaan hanya boleh berisi kolom yang ingin Anda perbarui (di lokasi persisnya).

Permintaan

PATCH https://backstory.googleapis.com/v2/forwarders/{forwarderID}?updateMask=<field_1,field_2>
Isi permintaan
{
  "display_name": string,
  "config": {
    object (ForwarderConfig)
  },
}
Parameter isi
Kolom Jenis Wajib Deskripsi
display_name string Wajib Nama pengirim. Nama ini ditampilkan di antarmuka Google SecOps.
config objek Opsional Setelan konfigurasi untuk forwarder ini. Lihat Kolom konfigurasi forwarder.
Contoh permintaan

Ini adalah contoh permintaan Update Forwarder yang permintaannya menentukan nilai baru untuk displayName dan menambahkan label Metadata.

PATCH https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56?updateMask=displayName,config.metadata.labels
{
  "display_name": "UpdatedForwarder",
  "config": {
    "metadata": {
      "labels": [
        {
          "key": "office",
          "value": "corporate",
        }
      ]
    }
  }
}
Contoh respons

Ini adalah contoh respons yang ditampilkan untuk contoh permintaan di atas.

{
  "name": "forwarders/{forwarderUUID}",
  "displayName": "UpdatedForwarder",
  "config": {
    "uploadCompression": "false",
    "metadata": {
      "labels": [
        {
          "key": "office",
          "value": "corporate"
        }
      ]
    }
  },
  "state": "ACTIVE"
}

Menghapus Pengirim

Menghapus pengirim.

Permintaan

DELETE https://backstory.googleapis.com/v2/forwarders/{forwarderID}
Isi permintaan

Jangan sertakan isi permintaan.

Contoh permintaan
DELETE https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56
Contoh respons

Jika operasi berhasil, Delete Forwarder akan menampilkan respons kosong dengan kode status HTTP 200 (OK).

{}

Membuat File Pengirim

Menghasilkan dan menampilkan konten file konfigurasi (.conf) dan autentikasi (_auth.conf) penerusan.

Permintaan

GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}:generateForwarderFiles
Isi permintaan

Jangan sertakan isi permintaan.

Contoh permintaan
GET https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56:generateForwarderFiles
Contoh respons

Jika berhasil, operasi akan menampilkan kode status HTTP 200 (OK). Fungsi ini juga menampilkan konten file konfigurasi forwarder, termasuk data konfigurasi untuk kolektor forwarder, serta konten file autentikasi (_auth.conf) yang digunakan oleh forwarder untuk mengautentikasi dengan instance Google SecOps.

Kolom konfigurasi penerusan

Tabel berikut mencantumkan setelan konfigurasi forwarder yang dapat Anda tentukan menggunakan Create Forwarder dan Update Forwarder. Jika Anda tidak menentukan nilai untuk setelan saat menggunakan Buat Pengirim, nilai default setelan (ditampilkan di bawah) akan diterapkan.

Kolom berikut dapat diberikan dalam objek config dari isi permintaan.

Kolom Jenis Wajib Deskripsi
upload_compression bool Opsional Jika true, batch data akan dikompresi sebelum diupload.

Defaultnya adalah false.
metadata.asset_namespace string Opsional Namespace untuk mengidentifikasi log dari penerusan ini.

Catatan: Ini adalah setelan global yang berlaku untuk forwarder dan kolektor forwarder, kecuali jika diganti di tingkat kolektor. Untuk informasi selengkapnya, lihat Mengonfigurasi namespace.
metadata.labels list Opsional Daftar key-value pair arbitrer yang dapat ditentukan dalam konfigurasi forwarder.

Catatan: Ini adalah setelan global yang berlaku untuk forwarder dan kolektor forwarder, kecuali jika diganti di tingkat kolektor.
metadata.labels.key string Opsional Kunci untuk kolom dalam daftar label metadata.
metadata.labels.value string Opsional Nilai untuk kolom dalam daftar label metadata.
regex_filters.description string Opsional Menjelaskan apa yang difilter dan alasannya.
regex_filters.regexp string Opsional Ekspresi reguler yang digunakan untuk mencocokkan setiap baris yang masuk.
regex_filters.behavior enum Opsional

Menentukan status fungsi server. Nilai yang valid adalah:

  • ALLOW: Status ini memungkinkan baris yang difilter diupload.
  • BLOCK: Status ini mencegah baris yang difilter diupload.
server_settings objek Opsional Setelan yang mengonfigurasi server HTTP bawaan forwarder, yang dapat digunakan untuk mengonfigurasi opsi load balancing dan ketersediaan tinggi untuk pengumpulan syslog di Linux.
server_settings.state enum Opsional

Menentukan status fungsi server. Nilai yang valid adalah:

  • AKTIF: Dalam status ini, setelan server diterapkan seperti yang ditentukan.
  • DITANGGUHKAN Dalam status ini, setelan server tidak diterapkan.
server_settings.graceful_timeout bilangan bulat Opsional Jumlah detik setelah forwarder menampilkan pemeriksaan kesiapan/status yang buruk dan masih menerima koneksi baru. Ini juga adalah waktu tunggu antara menerima sinyal untuk berhenti dan benar-benar memulai shutdown server itu sendiri. Hal ini memungkinkan load balancer memiliki waktu untuk menghapus forwarder dari kumpulan.

Nilai defaultnya adalah 15.
server_settings.drain_timeout bilangan bulat Opsional Jumlah detik setelah penerusan menunggu koneksi aktif berhasil ditutup sendiri sebelum ditutup oleh server.

Nilai defaultnya adalah 10.
server_settings.http_settings.port bilangan bulat Opsional Nomor port yang diproses server HTTP untuk health check dari load balancer. Harus antara 1024-65535.

Defaultnya adalah 8080.
server_settings.http_settings.host string Opsional Alamat IP, atau nama host yang dapat di-resolve ke alamat IP, yang harus didengarkan server.

Nilai defaultnya adalah 0.0.0.0 (sistem lokal).
server_settings.http_settings.read_timeout bilangan bulat Opsional Jumlah detik maksimum yang diizinkan untuk membaca seluruh permintaan, yang mencakup header dan isi.

Nilai defaultnya adalah 3.
server_settings.http_settings.read_header_timeout bilangan bulat Opsional Jumlah maksimum detik yang diizinkan untuk membaca header permintaan.

Nilai defaultnya adalah 3.
server_settings.http_settings.write_timeout bilangan bulat Opsional Jumlah detik maksimum yang diizinkan untuk mengirim respons.

Nilai defaultnya adalah 3.
server_settings.http_settings.idle_timeout bilangan bulat Opsional Jumlah detik maksimum untuk menunggu permintaan berikutnya saat koneksi tidak ada aktivitas diaktifkan.

Defaultnya adalah 3.
server_settings.http_settings.route_settings.available_status_code bilangan bulat Opsional Kode status yang ditampilkan saat pemeriksaan keaktifan diterima dan forwarder tersedia.

Defaultnya adalah 204.
server_settings.http_settings.route_settings.ready_status_code bilangan bulat Opsional Kode status yang ditampilkan saat forwarder siap menerima traffic.

Defaultnya adalah 204.
server_settings.http_settings.route_settings.unready_status_code bilangan bulat Opsional Kode status yang ditampilkan saat forwarder belum siap menerima traffic.

Defaultnya adalah 503.

Referensi Collector API

Bagian ini menjelaskan endpoint untuk menggunakan kolektor.

Saat membuat dan memperbarui kolektor, perhatikan bahwa setiap konfigurasi kolektor dapat menentukan setelan penyerapan untuk satu, tetapi tidak lebih dari satu, dari hal berikut:

  • Data file log
  • Topik Kafka
  • Data paket (pcap)
  • Data Splunk
  • Data syslog

Untuk endpoint guna menggunakan forwarder, lihat referensi Forwarder API.

Membuat Kolektor

Membuat kolektor baru di akun Google SecOps. Nilai konfigurasi untuk collector harus ditentukan menggunakan Create Collector setelah menggunakan Create Forwarder.

Untuk setelan tertentu, nilai konfigurasi yang tidak ada atau bernilai nol dalam isi permintaan ditetapkan ke nilai default. Untuk mengetahui detail tentang kolom dan nilai konfigurasi kolektor, lihat Kolom konfigurasi kolektor.

Permintaan

POST https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors
Isi permintaan
{
  "display_name": string,
  "config": {
    object (CollectorConfig)
  }
  "state": enum
}
Parameter isi
Kolom Jenis Wajib Deskripsi
display_name string Wajib Nama kolektor. Nama ini ditampilkan di antarmuka Google SecOps.
config objek Wajib Setelan konfigurasi untuk pengumpulan ini. Lihat Kolom konfigurasi kolektor.
state enum Opsional

Menentukan status kolektor saat ini. Nilai yang valid adalah:

  • AKTIF: Kolektor diizinkan untuk menerima data.
  • DITANGGUHKAN: Pengumpul tidak diizinkan untuk menerima data.
Contoh permintaan

Contoh ini menunjukkan pasangan nilai kunci yang diperlukan dalam permintaan Create Collector. Untuk kolom yang tidak disediakan, nilai default akan diterapkan selama pembuatan kolektor.

Dalam contoh ini, jenis kolektor adalah file, sehingga konfigurasi kolektor menyertakan file_settings untuk menunjukkan jenis kolektor dan setelannya. Jika jenis kolektor adalah syslog, konfigurasi kolektor akan menyertakan syslog_settings. Untuk mengetahui informasi selengkapnya, lihat Kolom konfigurasi kolektor.

POST https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors
{
  "display_name": "abc_collector",
  "config" {
    "log_type": "CS_EDR"
    "file_settings": {
      "file_path": "/opt/chronicle/edr/output/sample.txt",
    }
  }
}

Respons

Jika permintaan berhasil, respons akan menampilkan kode status HTTP 200 (OK).

Respons menunjukkan nilai konfigurasi yang diterapkan selama pembuatan kolektor. Nilai konfigurasi default diterapkan untuk setelan tertentu selama pembuatan resource jika kolom tersebut tidak ada atau bernilai nol dalam isi permintaan. Untuk mengetahui detailnya, lihat Kolom konfigurasi kolektor.

Kolom respons

Selain kolom yang ditentukan dalam permintaan dan kolom yang nilai defaultnya diterapkan, respons mencakup kolom berikut:

Kolom Jenis Deskripsi
nama string ID resource kolektor. Formatnya adalah "forwarders/{forwarderID}/collectors/{collectorID}". Misalnya:

forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56
Contoh respons

Ini adalah contoh respons yang ditampilkan untuk contoh permintaan di atas.

{
  "name": "forwarders/12ab3cd4-56ef-7ghi-j89k-1l23m4nopq56/collectors/
     98ab7cd6-54ef-3abc-d21e-1f23a4bcde56",
  "displayName": "abc_collector",
  "config": {
    "logType": "tomcat",
    "maxSecondsPerBatch": "10",
    "maxBytesPerBatch": "1048576"
  }
}

Mendapatkan Kolektor

Menampilkan kolektor.

Permintaan

GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors/{collectorID}
Isi permintaan

Jangan sertakan isi permintaan.

Contoh permintaan
GET
https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56
Contoh respons
{
  "name": "?",
  "displayName": "abc_collector",
  "config": {
    "logType": "tomcat",
    "maxSecondsPerBatch": "10",
    "maxBytesPerBatch": "1048576"
  }
}

Mencantumkan Kolektor

Mencantumkan kolektor yang ada untuk pengirim yang ditentukan.

Permintaan

GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors
Contoh permintaan
GET https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors

Respons

Menampilkan beberapa kolektor.

Contoh respons
{
  "collectors": [
    {
      "name": "?",
      "displayName": "abc_collector_1",
      "config": {
        "logType": "tomcat",
        "maxSecondsPerBatch": "10",
        "maxBytesPerBatch": "1048576"
      }
    },
    {
      "name": "?",
      "displayName": "abc_collector_2",
      "config": {
        "logType": "tomcat",
        "maxSecondsPerBatch": "10",
        "maxBytesPerBatch": "1048576"
      }
    }
  ]
}

Memperbarui Kolektor

Saat memperbarui kolektor dengan API, Anda dapat memilih untuk menimpa seluruh konfigurasi kolektor atau hanya menimpa kolom tertentu dari konfigurasi kolektor. Sebaiknya ganti kolom tertentu agar Anda tidak sengaja menimpa semua data. Untuk menimpa kolom tertentu, berikan FieldMask ke permintaan pembaruan Anda.

Untuk memberikan FieldMask guna memperbarui nama tampilan untuk kolektor, berikan parameter kueri URL updateMask dalam permintaan patch. Contoh:

?updateMask=displayName

Isi permintaan hanya boleh berisi kolom yang ingin Anda perbarui (di lokasi tepatnya).

Permintaan

PATCH https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors/{collectorID}?updateMask=<field_1,field_2>
Isi permintaan
{
  "display_name": string,
  "config": {
    object (CollectorConfig)
  },
}
Parameter isi
Kolom Jenis Wajib Deskripsi
displayName string Wajib Nama kolektor. Nama ini ditampilkan di antarmuka Google SecOps.
config objek Opsional Setelan konfigurasi untuk forwarder ini. Lihat Kolom konfigurasi kolektor.
Contoh permintaan

Ini adalah contoh permintaan Update Collector yang menentukan nilai baru untuk displayName, logType, assetNamespace, dan protocol.

PATCH https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56?updateMask=displayName,config.logType,config.metadata.assetNamespace,config.syslogSettings.protocol
{
  "display_name": "UpdatedCollector"
  "config": {
    "metadata": {
      "asset_namespace": "COLLECTOR",
      },
      "log_type": "CISCO_ASA_FIREWALL",
      "syslog_settings": {
        "protocol": "TCP",
      }
    }
  }
Contoh respons

Ini adalah contoh respons yang ditampilkan untuk contoh permintaan di atas.

{
  "name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56",
  "displayName": "UpdatedCollector",
  "config": {
    "logType": "CISCO_ASA_FIREWALL",
    "metadata": {
      "assetNamespace": "COLLECTOR"
    },
    "maxSecondsPerBatch": 10,
    "maxBytesPerBatch": "1048576",
    "syslogSettings": {
      "protocol": "TCP",
      "address": "0.0.0.0",
      "port": 10514,
    }
  },
  "state": "ACTIVE"
}

Menghapus Kolektor

Menghapus kolektor.

Permintaan

DELETE https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors/{collectorID}
Isi permintaan

Jangan sertakan isi permintaan.

Contoh permintaan
DELETE https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56
Contoh respons

Jika operasi berhasil, Penghapus Pengumpul akan menampilkan respons kosong dengan kode status HTTP 200 (OK).

{}

Kolom konfigurasi kolektor

Kolom berikut dapat diberikan dalam objek config dari isi permintaan.

Kolom Jenis Wajib Deskripsi
log_type string Wajib Jenis log yang didukung (jenis yang dapat diserap oleh Google SecOps). Untuk daftar jenis log yang didukung yang memiliki parser Google SecOps, lihat kolom Label Proses Transfer di halaman Parser default yang didukung. Untuk mendapatkan daftar lengkap jenis log yang didukung, gunakan endpoint logtypes.
metadata.asset_namespace objek Opsional Namespace untuk mengidentifikasi log dari kolektor ini.

Catatan: Ini adalah setelan global yang berlaku untuk forwarder dan kolektor forwarder, kecuali jika diganti di tingkat kolektor. Untuk informasi selengkapnya, lihat Mengonfigurasi namespace.
metadata.labels list Opsional Daftar key:value pair arbitrer yang dapat ditentukan dalam konfigurasi kolektor.

Catatan: Ini adalah setelan global yang berlaku untuk forwarder dan kolektor forwarder, kecuali jika diganti di tingkat kolektor.
metadata.labels.key string Opsional Kunci untuk kolom dalam daftar label metadata.
metadata.labels.value string Opsional Nilai untuk kolom dalam daftar label metadata.
regex_filters.description string Opsional Menjelaskan apa yang difilter dan alasannya.
regex_filters.regexp string Opsional Ekspresi reguler yang digunakan untuk mencocokkan setiap baris yang masuk.
regex_filters.behavior enum Opsional

Menentukan status fungsi server. Nilai yang valid adalah:

  • ALLOW: Status ini memungkinkan baris yang difilter diupload.
  • BLOCK: Status ini mencegah baris yang difilter diupload.
disk_buffer.state enum Opsional

Menentukan status buffering disk untuk kolektor. Nilai yang valid adalah:

  • AKTIF: Buffering diaktifkan.
  • DITANGGUHKAN: Buffering dinonaktifkan.
disk_buffer.directory_path string Opsional Jalur direktori untuk file yang ditulis.
disk_buffer.max_file_buffer_bytes bilangan bulat Opsional Ukuran file buffering maksimum.
max_seconds_per_batch bilangan bulat Opsional Jumlah detik di antara batch.

Defaultnya adalah 10.
max_bytes_per_batch bilangan bulat Opsional Jumlah byte yang diantrekan sebelum upload batch penerusan.

Defaultnya adalah 1048576.
<collector_type>_settings.<fields> Wajib Menentukan jenis kolektor dan setelannya. Setiap kolektor harus menentukan satu jenis kolektor dan kolomnya. Misalnya, untuk menggunakan jenis kolektor file, kolom file_settings.file_path harus ditambahkan ke konfigurasi dan diberi nilai. Misalnya:

"file_settings": {
  "file_path": "/opt/chronicle/edr/output/sample.txt",
}


Jenis kolektor dan kolomnya tercantum di baris berikutnya dalam tabel ini. Jenis kolektor yang tersedia adalah:
  • file
  • kafka
  • pcap
  • splunk
  • syslog
file_settings.file_path string Opsional Jalur file yang akan dipantau.
kafka_settings.authentication.username string Opsional Nama pengguna identitas yang digunakan untuk autentikasi.
kafka_settings.authentication.password string Opsional Sandi akun yang diidentifikasi oleh nama pengguna.
kafka_settings.topic string Opsional Topik Kafka tempat data akan diserap. Untuk mengetahui detailnya, lihat Mengumpulkan data dari topik Kafka.
kafka_settings.group_id string Opsional ID grup.
kafka_settings.timeout bilangan bulat Opsional Jumlah detik maksimum yang diperlukan panggilan untuk menunggu koneksi selesai.

Defaultnya adalah 60.
kafka_settings.brokers string Opsional String berulang yang mencantumkan broker Kafka. Misalnya:

"broker-1:9092", "broker-2:9093"

Catatan: Semua nilai diganti selama operasi pembaruan. Oleh karena itu, untuk memperbarui daftar broker guna menambahkan broker baru, tentukan semua broker yang ada dan broker baru.
kafka_settings.tls_settings.certificate string Opsional Jalur dan nama file sertifikat. Misalnya:

/path/to/cert.pem
kafka_settings.tls_settings.certificate_key string Opsional Jalur dan nama file kunci sertifikat. Misalnya:

/path/to/cert.key
kafka_settings.tls_settings.minimum_tls_version string Opsional Versi TLS minimum.
kafka_settings.tls_settings.insecure_skip_verify bool Opsional Jika true, verifikasi sertifikasi SSL akan diaktifkan.

Defaultnya adalah false.
pcap_settings.network_interface string Opsional Antarmuka yang akan memproses data PCAP.
pcap_settings.bpf string Opsional Berkeley Packet Filter (BPF) untuk pcap.
splunk_settings.authentication.username string Opsional Nama pengguna identitas yang digunakan untuk autentikasi.
splunk_settings.authentication.password string Opsional Sandi akun yang diidentifikasi oleh nama pengguna.
splunk_settings.host string Opsional Host atau alamat IP untuk Splunk REST API.
splunk_settings.port bilangan bulat Opsional Port untuk Splunk REST API.
splunk_settings.minimum_window_size bilangan bulat Opsional Rentang waktu minimum dalam detik untuk penelusuran Splunk tertentu. Untuk mengetahui detailnya, lihat Mengumpulkan data Splunk.

Defaultnya adalah 10.
splunk_settings.maximum_window_size bilangan bulat Opsional Rentang waktu maksimum dalam detik untuk penelusuran Splunk tertentu. Untuk mengetahui detailnya, lihat Mengumpulkan data Splunk.

Defaultnya adalah 30.
splunk_settings.query_string string Opsional Kueri yang digunakan untuk memfilter kumpulan data dalam Splunk.

Misalnya: search index=* sourcetype=dns
splunk_settings.query_mode string Opsional Mode kueri untuk Splunk.

Misalnya: realtime
splunk_settings.cert_ignored bool Opsional Jika true, sertifikat akan diabaikan.
syslog_settings.protocol enum Opsional

Menentukan protokol yang akan digunakan kolektor untuk memproses data syslog. Nilai yang valid adalah:

  • TCP
  • UDP
syslog_settings.address string Opsional Alamat IP atau nama host target tempat kolektor berada dan memproses data syslog.
syslog_settings.port bilangan bulat Opsional Port target tempat kolektor berada dan memproses data syslog.
syslog_settings.buffer_size bilangan bulat Opsional Ukuran dalam byte dari buffer soket TCP.

Default untuk TCP adalah 65536.
Default untuk UDP adalah 8192.
syslog_settings.connecton_timeout bilangan bulat Opsional Jumlah detik tidak ada aktivitas setelah koneksi TCP dihentikan.

Defaultnya adalah 60.
syslog_settings.tls_settings.certificate string Opsional Jalur dan nama file sertifikat. Misalnya:

/path/to/cert.pem
syslog_settings.tls_settings.certificate_key string Opsional Jalur dan nama file kunci sertifikat. Misalnya:

/path/to/cert.key
syslog_settings.tls_settings.minimum_tls_version string Opsional Versi TLS minimum.
syslog_settings.tls_settings.insecure_skip_verify bool Opsional Jika true, verifikasi sertifikasi SSL akan diaktifkan.

Defaultnya adalah false.