Pengelolaan Penerusan
Anda dapat menggunakan Metode Google Security Operations Forwarder Management API untuk melakukan hal berikut secara terprogram:
- Membuat dan mengelola penerusan.
- Membuat dan mengelola pengumpul.
- Mendapatkan konten file untuk file konfigurasi (
.conf
) dan autentikasi (_auth.conf
) penerusan Google SecOps.
Forwarder terdiri dari satu atau beberapa pengumpul. Konfigurasi setiap pengumpul menentukan mekanisme penyerapan (misalnya, File, Kafka, PCAP, Splunk, atau Syslog) dan jenis log.
Dengan asumsi persyaratan hardware terpenuhi, Anda dapat menggunakan banyak pengumpul di penerus yang sama untuk menyerap data dari berbagai mekanisme dan jenis log. Misalnya, Anda dapat menginstal penerus dengan dua pengumpul syslog yang memproses data PAN_FIREWALL dan CISCO_ASA_FIREWALL di port terpisah.
API ini memungkinkan Anda membuat penerus dan pengumpulnya di instance Google SecOps Anda. Setelah penerus dibuat, Anda dapat menggunakan endpoint Generate Forwarder Files untuk mendapatkan konten file (sebagai payload JSON) untuk file konfigurasi (.conf
) dan autentikasi (_auth.conf
) penerus. Konten ini kemudian dapat ditulis ke file .conf
masing-masing untuk di-deploy dengan layanan Google SecOps Forwarder di sistem Windows atau Linux.
Untuk contoh Python yang menggunakan Forwarder Management API, lihat repositori GitHub.
Buat penerusan dan pengumpulnya
Forwarder harus dibuat sebelum kolektornya dapat dibuat.
Untuk membuat penerus dan pengumpulnya:
- Buat penerusan.
- Buat pengumpul untuk penerus.
- (Opsional) Ulangi Langkah 2 untuk menambahkan pengumpul lainnya.
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 Otorisasi 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 Backstory API Anda:
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 the Google Developer Service Account Credential and Backstory 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 Backstory API
Backstory API menerapkan batas pada volume permintaan yang dapat dilakukan oleh satu pelanggan terhadap platform Google SecOps. Jika Anda mencapai atau melampaui batas kueri, server Backstory API akan menampilkan HTTP 429 (RESOURCE_EXHAUSTED) kepada pemanggil. Saat mengembangkan aplikasi untuk Backstory API, Google merekomendasikan agar Anda menerapkan batas kecepatan dalam sistem untuk menghindari kehabisan resource. Batas ini berlaku untuk semua Backstory API, termasuk Search, Forwarder Management, dan Tooling API.
Lihat daftar mendetail kuota Backstory API.
Batas berikut untuk Pengelolaan Penerusan diterapkan dan diukur dalam kueri per detik (QPS):
Backstory API | Endpoint API | Batas |
Pengelolaan Penerusan | Membuat Penerus | 1 QPS |
Mendapatkan Penerus | 1 QPS | |
Mencantumkan Penerus | 1 QPS | |
Memperbarui Penerus | 1 QPS | |
Menghapus Penerus | 1 QPS | |
Pengelolaan Kolektor | Buat Pengumpul | 1 QPS |
Mendapatkan Pengumpul | 1 QPS | |
Mencantumkan Pengumpul | 1 QPS | |
Memperbarui Pengumpul | 1 QPS | |
Menghapus Pengumpul | 1 QPS |
Referensi Metode Forwarder API
Bagian ini menjelaskan endpoint untuk membuat dan mengelola penerusan. Untuk mengetahui endpoint guna membuat dan mengelola pengumpul, lihat referensi Collector API.
Membuat Penerus
Membuat penerus baru di instance Google SecOps. Forwarder baru akan menyertakan nilai konfigurasi forwarder yang diberikan dalam isi permintaan. Nilai konfigurasi untuk pengumpul harus ditentukan menggunakan Create Collector setelah menggunakan Create Forwarder.
Untuk setelan tertentu, nilai konfigurasi yang tidak ada atau bernilai nol dalam isi permintaan akan ditetapkan ke nilai default. Untuk mengetahui detail tentang kolom dan nilai penerusan, lihat Kolom konfigurasi penerusan.
Permintaan
POST https://backstory.googleapis.com/v2/forwarders
Isi permintaan
{
"display_name": string,
"config": {
object (ForwarderConfig)
}
}
Parameter tubuh
Kolom | Jenis | Wajib | Deskripsi |
---|---|---|---|
display_name | string | Wajib | Nama penerus. Nama ini ditampilkan di antarmuka Google SecOps. |
config | object | Opsional | Setelan konfigurasi untuk penerusan ini. Lihat Kolom konfigurasi penerusan. |
Contoh permintaan
Contoh ini menunjukkan pasangan key:value yang diperlukan dalam permintaan Create Forwarder. Jika kolom tidak ditentukan dalam permintaan dan memiliki nilai default, nilai default akan diterapkan selama pembuatan penerusan. Untuk mengetahui detail tentang nilai default, lihat Kolom konfigurasi penerusan.
POST https://backstory.googleapis.com/v2/forwarders
{
"display_name": "chronicle_forwarder"
}
Respons
Jika permintaan berhasil, respons akan menampilkan kode status HTTP 200 (OK).
Respons menampilkan nilai konfigurasi yang diterapkan selama pembuatan penerusan. 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 penerusan.
Kolom respons
Selain kolom yang ditentukan dalam permintaan dan kolom yang nilai defaultnya diterapkan, respons mencakup kolom yang dihasilkan dan hanya output berikut.
Kolom | Jenis | Deskripsi |
---|---|---|
nama | string | ID resource penerusan. Formatnya adalah
"forwarders/forwarderID". Misalnya: forwarders/12ab3cd4-56ef-7ghi-j89k-1l23m4nopq56 |
state | enum | Menentukan status penerusan saat ini. Nilai yang valid adalah:
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 Penerus
Menampilkan penerusan.
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 penerusan.
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 Penerus
Anda dapat memperbarui penerusan dengan 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 tubuh
Kolom | Jenis | Wajib | Deskripsi |
---|---|---|---|
display_name | string | Wajib | Nama penerus. Nama ini ditampilkan di antarmuka Google SecOps. |
config | object | Opsional | Setelan konfigurasi untuk penerusan ini. Lihat Kolom konfigurasi penerusan. |
Contoh permintaan
Berikut adalah contoh permintaan Update Forwarder yang 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 Penerus
Menghapus penerus.
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, Hapus Penerusan akan menampilkan respons kosong dengan kode status HTTP 200 (OK).
{}
Membuat File Penerusan
Membuat 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 operasi berhasil, kode status HTTP 200 (OK) akan ditampilkan. API ini juga menampilkan konten file konfigurasi penerusan, termasuk data konfigurasi untuk pengumpul data penerusan, serta konten file autentikasi (_auth.conf
) yang digunakan oleh penerusan untuk mengautentikasi dengan instance Google SecOps.
Kolom konfigurasi penerus
Tabel berikut mencantumkan setelan konfigurasi penerusan yang dapat Anda tentukan menggunakan Create Forwarder dan Update Forwarder. Jika Anda tidak menentukan nilai untuk setelan saat menggunakan Create Forwarder, nilai default setelan (ditampilkan di bawah) akan diterapkan.
Kolom berikut dapat diberikan dalam objek config
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 pengumpul forwarder, kecuali jika diganti di tingkat pengumpul. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi namespace. |
metadata.labels | list | Opsional | Daftar pasangan nilai kunci arbitrer yang dapat ditentukan dalam konfigurasi penerus. Catatan: Ini adalah setelan global yang berlaku untuk forwarder dan pengumpul forwarder, kecuali jika diganti di tingkat pengumpul. |
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 masuk. |
regex_filters.behavior | enum | Opsional | Menentukan status fungsi server. Nilai yang valid adalah:
|
server_settings | object | Opsional | Setelan yang mengonfigurasi server HTTP bawaan penerusan, 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:
|
server_settings.graceful_timeout | integer | Opsional | Jumlah detik setelah penerus menampilkan pemeriksaan kesiapan/health check yang buruk dan masih menerima koneksi baru. Ini juga merupakan waktu untuk menunggu antara menerima sinyal untuk berhenti dan benar-benar memulai penonaktifan server itu sendiri. Hal ini memungkinkan load balancer memiliki waktu untuk menghapus penerusan dari pool. Nilai defaultnya adalah 15 . |
server_settings.drain_timeout | integer | Opsional | Jumlah detik setelah penerus menunggu koneksi aktif berhasil ditutup sendiri sebelum ditutup oleh server. Nilai defaultnya adalah 10 . |
server_settings.http_settings.port | integer | 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 oleh server. Nilai defaultnya adalah 0.0.0.0 (sistem lokal). |
server_settings.http_settings.read_timeout | integer | Opsional | Jumlah maksimum detik yang diizinkan untuk membaca seluruh permintaan, yang
mencakup header dan isi. Nilai defaultnya adalah 3 . |
server_settings.http_settings.read_header_timeout | integer | Opsional | Jumlah maksimum detik yang diizinkan untuk membaca header permintaan. Nilai defaultnya adalah 3 . |
server_settings.http_settings.write_timeout | integer | Opsional | Jumlah detik maksimum yang diizinkan untuk mengirim respons. Nilai defaultnya adalah 3 . |
server_settings.http_settings.idle_timeout | integer | Opsional | Jumlah detik maksimum untuk menunggu permintaan berikutnya saat koneksi
idle diaktifkan. Defaultnya adalah 3 . |
server_settings.http_settings.route_settings.available_status_code | integer | Opsional | Kode status yang ditampilkan saat pemeriksaan keaktifan diterima dan penerusan tersedia. Defaultnya adalah 204 . |
server_settings.http_settings.route_settings.ready_status_code | integer | Opsional | Kode status yang ditampilkan saat penerusan siap menerima
traffic. Defaultnya adalah 204 . |
server_settings.http_settings.route_settings.unready_status_code | integer | Opsional | Kode status yang ditampilkan saat penerusan tidak siap menerima
traffic. Defaultnya adalah 503 . |
Referensi Metode Collector API
Bagian ini menjelaskan endpoint untuk berinteraksi dengan pengumpul.
Saat membuat dan memperbarui pengumpul, perhatikan bahwa setiap konfigurasi pengumpul dapat menentukan setelan penyerapan untuk satu, tetapi tidak lebih dari satu, hal berikut:
- Data file log
- Topik Kafka
- Data paket (pcap)
- Data Splunk
- Data syslog
Untuk mengetahui endpoint untuk menggunakan penerus, lihat Referensi API penerus.
Buat Pengumpul
Membuat pengumpul baru di akun Google SecOps. Nilai konfigurasi untuk pengumpul harus ditentukan menggunakan Create Collector setelah menggunakan Create Forwarder.
Untuk setelan tertentu, nilai konfigurasi yang tidak ada atau bernilai nol dalam isi permintaan akan ditetapkan ke nilai default. Untuk mengetahui detail tentang kolom dan nilai konfigurasi pengumpul, lihat Kolom konfigurasi pengumpul.
Permintaan
POST https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors
Isi permintaan
{
"display_name": string,
"config": {
object (CollectorConfig)
}
"state": enum
}
Parameter tubuh
Kolom | Jenis | Wajib | Deskripsi |
---|---|---|---|
display_name | string | Wajib | Nama pengumpul. Nama ini ditampilkan di antarmuka Google SecOps. |
config | object | Wajib | Setelan konfigurasi untuk pengumpul ini. Lihat Kolom konfigurasi pengumpul. |
state | enum | Opsional | Menentukan status pengumpul saat ini. Nilai yang valid adalah:
|
Contoh permintaan
Contoh ini menunjukkan pasangan nilai kunci yang diperlukan dalam permintaan Buat Pengumpul. Untuk kolom yang tidak diberikan, nilai default akan diterapkan selama pembuatan pengumpul.
Dalam contoh ini, jenis pengumpul adalah file
, sehingga konfigurasi pengumpul
mencakup file_settings
untuk menunjukkan jenis pengumpul dan setelannya. Jika
jenis pengumpul adalah syslog
, maka konfigurasi pengumpul mencakup
syslog_settings
. Untuk mengetahui informasi selengkapnya, lihat
Kolom konfigurasi pengumpul.
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 menampilkan nilai konfigurasi yang diterapkan selama pembuatan pengumpul. 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 pengumpul.
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 pengumpul. Formatnya adalah
"forwarders/{forwarderID}/collectors/{collectorID}". Contoh: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 Pengumpul
Menampilkan pengumpul.
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 Pengumpul
Mencantumkan pengumpul yang ada untuk penerus 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 pengumpul.
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 Pengumpul
Saat memperbarui pengumpul dengan API, Anda dapat memilih untuk menimpa seluruh konfigurasi pengumpul atau hanya menimpa kolom tertentu dari konfigurasi pengumpul. Biasanya, sebaiknya ganti kolom tertentu, sehingga Anda tidak mengganti semua data secara tidak sengaja. Untuk mengganti kolom tertentu, berikan FieldMask ke permintaan update Anda.
Untuk memberikan FieldMask guna memperbarui nama tampilan pengumpul, berikan parameter kueri URL updateMask dalam permintaan patch. Contoh:
?updateMask=displayName
Isi permintaan hanya boleh berisi kolom yang ingin Anda perbarui (di lokasi persisnya).
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 tubuh
Kolom | Jenis | Wajib | Deskripsi |
---|---|---|---|
displayName | string | Wajib | Nama pengumpul. Nama ini ditampilkan di antarmuka Google SecOps. |
config | object | Opsional | Setelan konfigurasi untuk penerusan ini. Lihat Kolom konfigurasi pengumpul. |
Contoh permintaan
Berikut adalah contoh permintaan Update Collector yang menentukan nilai baru untuk displayName, logType, assetNamespace, dan protokol.
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 Pengumpul
Menghapus pengumpul.
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, Delete Collector akan menampilkan respons kosong dengan kode status HTTP 200 (OK).
{}
Kolom konfigurasi pengumpul
Kolom berikut dapat diberikan dalam objek config
isi permintaan.
Kolom | Jenis | Wajib | Deskripsi |
---|---|---|---|
log_type | string | Wajib | Jenis log yang didukung (yang dapat di-ingest oleh Google SecOps). Untuk mengetahui daftar
jenis log yang didukung dan memiliki parser di Google SecOps, lihat
kolom Label Penyerapan di halaman Parser default yang didukung. Untuk mendapatkan
daftar lengkap jenis log yang didukung, gunakan endpoint logtypes .
|
metadata.asset_namespace | object | Opsional | Namespace untuk mengidentifikasi log dari pengumpul ini. Catatan: Ini adalah setelan global yang berlaku untuk forwarder dan pengumpul forwarder, kecuali jika diganti di tingkat pengumpul. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi namespace. |
metadata.labels | list | Opsional | Daftar pasangan nilai kunci arbitrer yang dapat ditentukan dalam konfigurasi pengumpul. Catatan: Ini adalah setelan global yang berlaku untuk forwarder dan pengumpul forwarder, kecuali jika diganti di tingkat pengumpul. |
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 masuk. |
regex_filters.behavior | enum | Opsional | Menentukan status fungsi server. Nilai yang valid adalah:
|
disk_buffer.state | enum | Opsional | Menentukan status buffering disk untuk pengumpul. Nilai yang valid adalah:
|
disk_buffer.directory_path | string | Opsional | Jalur direktori untuk file yang ditulis. |
disk_buffer.max_file_buffer_bytes | integer | Opsional | Ukuran file yang di-buffer maksimum. |
max_seconds_per_batch | integer | Opsional | Jumlah detik antar-batch. Defaultnya adalah 10 . |
max_bytes_per_batch | integer | Opsional | Jumlah byte yang diantrekan sebelum penerus melakukan upload batch. Defaultnya adalah 1048576 . |
<collector_type>_settings.<fields> | Wajib | Menentukan jenis pengumpul dan setelannya. Setiap pengumpul harus menentukan satu jenis pengumpul dan kolomnya. Misalnya, untuk menggunakan jenis pengumpul file , kolom file_settings.file_path harus ditambahkan ke konfigurasi dan diberi nilai. Misalnya:"file_settings": { Jenis pengumpul dan kolomnya tercantum di baris berikutnya dalam tabel ini. Jenis pengumpul yang tersedia adalah:
|
|
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 berdasarkan 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 | integer | Opsional | Jumlah detik maksimum yang diperlukan dial 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 update. 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. Contoh:/path/to/cert.pem |
kafka_settings.tls_settings.certificate_key | string | Opsional | Jalur dan nama file kunci sertifikat. Contoh:/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 diproses untuk 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 berdasarkan nama pengguna. |
splunk_settings.host | string | Opsional | Host atau alamat IP untuk Splunk REST API. |
splunk_settings.port | integer | Opsional | Port untuk Splunk REST API. |
splunk_settings.minimum_window_size | integer | 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 | integer | 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 data dalam Splunk. Contoh: search index=* sourcetype=dns |
splunk_settings.query_mode | string | Opsional | Mode kueri untuk Splunk. Contoh: realtime |
splunk_settings.cert_ignored | bool | Opsional | Jika true , sertifikat akan diabaikan. |
syslog_settings.protocol | enum | Opsional | Menentukan protokol yang akan digunakan pengumpul untuk memproses data syslog. Nilai yang valid adalah:
|
syslog_settings.address | string | Opsional | Alamat IP atau nama host target tempat pengumpul berada dan memproses data syslog. |
syslog_settings.port | integer | Opsional | Port target tempat pengumpul berada dan memproses data syslog. |
syslog_settings.buffer_size | integer | Opsional | Ukuran buffer soket TCP dalam byte. Default untuk TCP adalah 65536 .Default untuk UDP adalah 8192 . |
syslog_settings.connecton_timeout | integer | Opsional | Jumlah detik tidak aktif setelah koneksi TCP dihentikan. Defaultnya adalah 60 . |
syslog_settings.tls_settings.certificate | string | Opsional | Jalur dan nama file sertifikat. Contoh:/path/to/cert.pem |
syslog_settings.tls_settings.certificate_key | string | Opsional | Jalur dan nama file kunci sertifikat. Contoh:/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 . |