Menggunakan UI feed
Dokumen ini menjelaskan cara membuat, memecahkan masalah, dan mengelola feed dalam UI Pengelolaan Feed, termasuk petunjuk untuk mengubah, mengaktifkan, dan menghapusnya.
Sebelum memulai
Setiap feed data memerlukan prasyarat tertentu sebelum penyiapan di Google Security Operations. Untuk menemukan persyaratan feed Anda, lihat Konfigurasi menurut jenis sumber dan telusuri sumber data spesifik Anda.
Format kompresi dan ukuran file yang didukung
Format kompresi yang didukung untuk penyerapan feed mencakup .gz, .tar.gz, .tar, dan solr.gz. Tabel berikut menguraikan berbagai ukuran file yang didukung transformasi feed Google SecOps:
| Operasi | Jenis input | Ukuran yang direkomendasikan | Durasi yang diharapkan | Ukuran maks |
|---|---|---|---|---|
| Pemodelan Data | CSV | < 5 GB | < 7 mnt | 10 GB |
| Pemodelan Data | CSV | < 5 GB | ~30 mnt | 10 GB |
| Pemodelan Data | CSV | Ditentukan Nanti | Ditentukan Nanti | 2 GB |
| Pemodelan Data | XML / JSON | < 1 GB | < 10 mnt | 2 GB |
| Pemodelan Data | XLS / XLSX | < 50 MB | ~1 mnt | 50 MB |
| Menggabungkan File | Semua | < 1 GB | Bervariasi berdasarkan jumlah file | 100 GB |
| Mendekompresi File | Non-ZIP | < 5 GB | Bervariasi berdasarkan jumlah file | 10 GB (tidak dikompresi) |
| Mendekompresi File | Kode Pos | - | Bervariasi berdasarkan jumlah file | 4 GB (tidak dikompresi) |
Batas dan pembatas baris log
Saat menyerap log berbasis teks (JSON, CSV, atau Syslog), pastikan data Anda mematuhi batas penyerapan khusus berikut:
- Ukuran Baris Maksimum: Satu baris log tidak boleh melebihi 4 MB. Jika satu baris melebihi batas ini, feed akan gagal dengan error
MaxLogLineSize4MBExceeded. - Pembatas yang Didukung: Newline (
\n) dan Carriage Return + Newline (\r\n) didukung.
Dampak perubahan Project Cloud tertaut pada feed data
Jika Anda memperbarui project Google Cloud yang terkait dengan instance Google SecOps, semua feed yang menyerap data menggunakan konektor berikut akan berhenti, dan harus dibuat ulang secara manual:
- AMAZON_S3_V2
- AMAZON_SQS_V2
- GOOGLE_CLOUD_STORAGE_V2
- AZURE_BLOBSTORE_V2
- GOOGLE_CLOUD_STORAGE_EVENT_DRIVEN
Untuk semua feed lainnya yang tidak menggunakan konektor ini, penyerapan akan berlanjut tanpa gangguan. Pelanggan tidak perlu melakukan tindakan apa pun.
Yang dapat terjadi selama migrasi
Untuk feed yang terpengaruh, Anda akan melihat perubahan berikut:
- Status feed: Feed yang dibuat sebelum migrasi akan segera berhenti menarik data aktif dan akan menjadi hanya baca.
- Data yang ada: Semua data yang sudah ditransfer ke Google SecOps sebelum migrasi akan diserap secara otomatis; tidak ada data yang akan hilang.
- Pesan error: Jika Anda mencoba mengedit atau menghapus feed lama, Anda akan menerima pesan yang menyatakan:
This feed is read-only because this SecOps has now moved to a new Google Cloud Project (BYOP). To continue ingesting data from this source, please create a new feed.
Tindakan yang diperlukan untuk pelanggan
Untuk memastikan penyerapan data berkelanjutan, Anda harus membuat ulang feed secara manual di lingkungan baru. Ikuti langkah-langkah berikut untuk meminimalkan gangguan:
- Buat ulang feed: Anda harus membuat feed baru untuk menggantikan feed yang ada sebelum migrasi.
- Konfigurasi Usia File Maksimum: Saat menyiapkan feed baru, tetapkan Usia File Maksimum sekitar 2 jam sebelum pembaruan BYOP dimulai. Jeda waktu ini memastikan transisi yang lancar.
Mengelola data duplikat: Bergantung pada Usia File Maksimum yang Anda pilih, Anda mungkin mengalami beberapa transfer data duplikat. Untuk mengetahui detail teknis tentang cara Google SecOps memfilter log yang berlebihan ini, lihat Mencegah penghapusan duplikat.
Mencatat dan menghapus feed yang ada (sebelum migrasi): Sebelum memulai migrasi BYOP, catat setelan konfigurasi untuk semua feed yang ada yang menggunakan konektor yang terpengaruh (misalnya, Amazon S3 V2), lalu hapus feed tersebut. Jika Anda tidak menghapus feed yang dibuat sebelum migrasi, feed tersebut akan menjadi tidak dapat dikelola dan tetap berada di antarmuka web Google SecOps sebagai setelan yang tidak terkait.
Cara menyiapkan feed
Ada dua cara bagi pelanggan Google SecOps untuk menyiapkan feed di platform. Gunakan metode yang paling sesuai untuk lingkungan Anda:
- Setelan SIEM > Feed (standar)
- Hub Konten > Paket Konten (premium)
Mengonfigurasi feed
Bagian ini menjelaskan cara secara umum mengonfigurasi feed, dimulai dengan alur prosedural standar. Feed data yang tercantum di halaman Feed mencakup semua feed yang telah dikonfigurasi Google untuk akun Anda, termasuk feed yang Anda konfigurasi.
Menambahkan feed
Untuk menambahkan feed ke akun Google SecOps Anda, selesaikan langkah-langkah berikut:
Di menu Google SecOps, pilih SIEM Settings > Feeds.
Klik Tambahkan Feed Baru.
Di halaman berikutnya, klik Konfigurasi satu feed. Catatan: Langkah ini tidak relevan bagi pelanggan yang menggunakan platform mandiri Google SecOps SIEM.
Tambahkan nama feed.
Dalam daftar Source type, pilih jenis sumber untuk mengimpor data ke Google SecOps. Anda dapat memilih dari jenis sumber feed berikut:
- Amazon Data Firehose
- Amazon S3 (Tidak digunakan lagi)
- Amazon S3 (V2)
- Amazon SQS (Tidak digunakan lagi)
- Amazon SQS (V2)
- Azure Blob Storage (Tidak digunakan lagi)
- Azure Blob Storage (V2)
- API Kustom
- Google Cloud Pub/Sub
- Cloud Storage (Tidak digunakan lagi)
- Cloud Storage (V2)
- Cloud Storage Event Driven
- API pihak ketiga
- Webhook
Penting:
- Saat menggunakan feed Amazon S3 (Tidak digunakan lagi), Amazon SQS (Tidak digunakan lagi), Azure Blob Storage (Tidak digunakan lagi), dan Google Cloud Cloud Storage (Tidak digunakan lagi), pastikan Anda memiliki jalur direktori yang valid.
- Saat menggunakan Amazon SQS (Tidak digunakan lagi) atau Amazon SQS (V2), berikan izin Google SecOps secara eksplisit untuk menghapus pesan dari antrean Amazon SQS.
- Saat menggunakan feed Amazon SQS (Tidak digunakan lagi), pastikan hanya ada satu feed yang menggunakan pesan dari antrean. Pesan yang dibaca oleh aplikasi atau feed lain tidak dimasukkan ke dalam feed saat ini.
- Menggunakan Amazon SQS (Tidak digunakan lagi) sebagai jenis sumber feed hanya didukung untuk log di bucket Amazon S3.
Di daftar Log type, pilih jenis log yang sesuai dengan log yang ingin Anda masukkan. Log yang tersedia bervariasi, bergantung pada jenis sumber yang Anda pilih sebelumnya.
Jika Anda memilih Cloud Storage sebagai jenis sumber, gunakan opsi Dapatkan akun layanan untuk mendapatkan akun layanan unik. Lihat contoh penyiapan feed Google Cloud Storage.
Klik Berikutnya.
Tentukan parameter yang diperlukan dari tab Input Parameters. Opsi yang ditampilkan di sini bervariasi, bergantung pada jenis sumber dan log yang dipilih di tab Tetapkan Properti. Tahan kursor di atas ikon pertanyaan untuk setiap kolom guna mendapatkan informasi tambahan tentang apa yang perlu Anda berikan.
Opsional: Anda dapat menentukan namespace di tab Setel Properti. Untuk mengetahui informasi selengkapnya tentang namespace, lihat Menggunakan namespace aset.
Klik Berikutnya.
Tinjau konfigurasi feed baru Anda di tab Selesaikan.
Klik Kirim. Google SecOps menyelesaikan pemeriksaan validasi feed baru. Jika feed lulus pemeriksaan, nama akan dibuat untuk feed, feed akan dikirimkan ke Google SecOps, dan Google SecOps akan mulai mencoba mengambil data.
Mengonfigurasi beberapa feed untuk keluarga produk (khusus pelanggan Google SecOps)
Anda dapat mengonfigurasi beberapa feed per keluarga produk, berdasarkan jenis log.
- Jenis log dasar pengukuran: Ditandai sebagai direkomendasikan. Jenis log ini direkomendasikan untuk fungsionalitas platform inti.
- Jenis log tambahan: Ditandai sebagai opsional. Jenis log ini memberikan konteks tambahan.
Untuk menyederhanakan penyiapan, platform ini memberikan petunjuk penyiapan khusus dan parameter standar untuk setiap konfigurasi. Misalnya, untuk CrowdStrike Falcon, Anda dapat membuat beberapa feed unik dalam jenis log direkomendasikan dan opsional untuk memastikan cakupan data yang komprehensif.
Mengonfigurasi feed untuk CrowdStrike EDR
Ikuti langkah-langkah berikut untuk mengonfigurasi feed log untuk CrowdStrike EDR.
- Dari Setelan > Feed, klik Tambahkan Feed Baru
- Klik produk CrowdStrike Falcon:.
- Pilih jenis log CrowdStrike EDR.
- Atau, dari Content Hub > Content Packs, klik produk CrowdStrike Falcon:
- Klik Mulai.
- Pilih jenis log CrowdStrike EDR.
Tentukan nilai untuk kolom berikut:
Kolom Deskripsi Source TypeAmazon SQS RegionRegion AWS S3 yang terkait dengan URI. Queue NameNama antrean SQS yang akan dibaca. Account NumberNomor akun SQS. Source Deletion OptionMenunjukkan apakah akan menghapus file dan direktori setelah transfer. Queue Access Key IDKunci akses alfanumerik 20 karakter untuk akun, seperti AKIAOSFOODNN7EXAMPLE.Queue Secret Access KeyKunci akses rahasia alfanumerik 40 karakter untuk akun, seperti wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY.Opsional: Konfigurasikan parameter berikut:
- Nama Feed: nama unik yang telah diisi otomatis untuk feed.
- Namespace aset: namespace yang terkait dengan feed.
- Label penyerapan: label yang diterapkan ke peristiwa dari feed ini.
Klik Buat Feed.
Anda dapat mengulangi proses ini untuk membuat feed tambahan untuk jenis log yang sama. Anda juga dapat mengonfigurasi feed untuk jenis log lain yang tersedia langsung dari halaman ini. Setelah selesai, buka halaman Pengelolaan Feed untuk melihat ringkasan mendetail dari semua jenis log yang dikonfigurasi.
Daftar IP yang diizinkan
Aktifkan daftar yang diizinkan dan tambahkan rentang IP Google untuk semua jenis log yang menyerap data dari API pihak ketiga.
Menghapus file sumber
Opsi penghapusan sumber memungkinkan Anda menghapus objek sumber feed (file dan folder) dari penyimpanan, setelah transfer berhasil. Opsi ini hanya tersedia untuk jenis sumber feed yang dipilih, termasuk Cloud Storage. Jenis sumber feed ini mencakup kolom SOURCE DELETION OPTION dalam alur kerja Tambahkan baru dan Edit feed.
Opsi penghapusan sumber
Untuk jenis sumber feed yang didukung, termasuk Cloud Storage, kolom SOURCE DELETION OPTION menawarkan opsi berikut:
- Jangan pernah menghapus file
- Menghapus file yang ditransfer dan direktori kosong
- Menghapus file yang ditransfer
Microsoft Azure Blob Storage (AZURE_BLOBSTORE) tidak mendukung penghapusan file sumber. Untuk kolom OPSI PENGHAPUSAN SUMBER, pilih opsi Jangan pernah hapus file saja.
Untuk sumber feed berikut (
"feedSourceType"):GOOGLE_CLOUD_STORAGE_V2,GOOGLE_CLOUD_STORAGE_EVENT_DRIVEN,AMAZON_S3_V2,AMAZON_SQS_V2, danAZURE_BLOBSTORE_V2, kolom OPSI PENGHAPUSAN SUMBER menawarkan dua opsi:- JANGAN PERNAH: Tidak pernah menghapus file apa pun setelah transfer.
- ON_SUCCESS: Menghapus semua file dan direktori kosong setelah transfer.
Penyiapan dan izin khusus sumber
Jenis sumber yang berbeda memerlukan konfigurasi autentikasi dan jaringan tertentu untuk berkomunikasi dengan Google SecOps. Bagian ini menjelaskan cara mengonfigurasi izin dan menyiapkan akun layanan. Penyiapan yang diuraikan berfokus pada penyerapan Cloud Storage (berbasis pull), penyerapan multi-cloud (pull lintas cloud), dan penyerapan berbasis push (API atau real-time).
Contoh penyiapan feed Google Cloud Storage
- Dari menu Google SecOps, pilih Settings, lalu klik Feeds.
- Klik Tambahkan Feed Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed. Langkah ini tidak berlaku jika Anda menggunakan platform mandiri Google SecOps SIEM.
- Pilih Cloud Storage v2 untuk Source Type.
- Pilih Jenis log. Misalnya, untuk membuat feed bagi log audit Google Kubernetes Engine, pilih Log audit Google Kubernetes Engine sebagai Jenis Log.
- Klik Dapatkan akun layanan. Google SecOps menyediakan akun layanan unik yang digunakan Google SecOps untuk menyerap data. Atau, Anda bisa mendapatkan akun layanan ini secara terprogram menggunakan API. Lihat Mengambil akun layanan.
- Opsional: Konfigurasi akun layanan. Untuk mengetahui informasi selengkapnya, lihat Memberikan akses ke akun layanan Google SecOps.
- Klik Berikutnya.
Berdasarkan konfigurasi Cloud Storage yang Anda buat, tentukan nilai untuk kolom berikut:
URI bucket penyimpanan
Opsi penghapusan sumber
Untuk mempelajari lebih lanjut cara menyiapkan bucket Cloud Storage, lihat Membuat Bucket.
Klik Berikutnya, lalu klik Kirim.
Memberikan akses ke akun layanan Google SecOps
- Di konsol Google Cloud , buka halaman Buckets Cloud Storage.
Berikan akses ke akun layanan untuk objek Cloud Storage yang relevan.
Untuk memberikan izin baca ke file tertentu, selesaikan langkah-langkah berikut:
- Pilih file, lalu klik Edit akses.
- Klik Add principal.
- Di kolom New principals, masukkan nama akun layanan Google SecOps.
- Tetapkan peran yang berisi izin baca ke akun layanan Google SecOps. Misalnya, Storage Object Viewer
(
roles/storage.objectViewer). Hal ini hanya dapat dilakukan jika Anda belum mengaktifkan akses level bucket yang seragam. - Klik Simpan.
Untuk memberikan izin baca ke beberapa file, berikan akses di tingkat bucket sebagai berikut:
Untuk
"feedSourceType": "GOOGLE_CLOUD_STORAGE":- Tambahkan akun layanan Google SecOps sebagai akun utama ke bucket penyimpanan Anda dan berikan peran IAM Storage Object Viewer (
roles/storage.objectViewer). - Jika Anda mengonfigurasi feed untuk menghapus file sumber, Anda harus menambahkan akun layanan Google SecOps sebagai akun utama di bucket dan memberikan peran IAM Storage Object Admin (
roles/storage.objectAdmin) kepadanya.
- Tambahkan akun layanan Google SecOps sebagai akun utama ke bucket penyimpanan Anda dan berikan peran IAM Storage Object Viewer (
Untuk
"feedSourceType": "GOOGLE_CLOUD_STORAGE_V2", berikan peran berikut:Berikan peran ini:
- Storage Object Viewer (
roles/storage.objectViewer) jika transfer dilakukan ke bucket Cloud Storage lain.
- Storage Object Viewer (
Berikan salah satu peran berikut, bergantung pada opsi yang Anda pilih untuk Opsi Penghapusan Sumber. Jika Anda memilih Saat Berhasil, berikan peran Storage Legacy Bucket Writer. Jika Anda memilih Jangan pernah, berikan peran Storage Legacy Bucket Reader:
- Storage Legacy Bucket Writer (
roles/storage.legacyBucketWriter) jika izin penghapusan objek diperlukan. - Storage Legacy Bucket Reader (
roles/storage.legacyBucketReader) jika izin penghapusan objek tidak diperlukan.
- Storage Legacy Bucket Writer (
Untuk
"feedSourceType": "GOOGLE_CLOUD_STORAGE_EVENT_DRIVEN":Berikan salah satu peran berikut:
- Storage Object Viewer (
roles/storage.objectViewer) jika transfer dilakukan ke bucket Cloud Storage lain. - Storage Object Creator (
roles/storage.objectCreator) jika transfer dilakukan ke sistem file.
- Storage Object Viewer (
Berikan salah satu peran berikut:
- Storage Legacy Bucket Writer (
roles/storage.legacyBucketWriter) jika izin penghapusan objek diperlukan. - Storage Legacy Bucket Reader (
roles/storage.legacyBucketReader) jika izin penghapusan objek tidak diperlukan.
- Storage Legacy Bucket Writer (
Mengaktifkan akses STS untuk Amazon S3 dan Azure Storage
STS digunakan oleh feed Google Cloud Storage berikut untuk mentransfer data dari blobstores Amazon S3 dan Azure Storage ke Google SecOps:
- Amazon S3 (V2)
- Amazon SQS (V2)
- Azure Blob Storage (V2)
STS mengirim permintaan transfer data ke layanan penyimpanan Amazon S3 dan Azure dari serangkaian rentang alamat IP STS yang ditentukan. Rentang alamat IP STS ini dipublikasikan dalam file JSON berikut: Rentang IP
Untuk menggunakan jenis sumber feed STS ini, Anda mungkin perlu menyesuaikan pembatasan akses IP agar STS dapat mengakses layanan penyimpanan Amazon S3 dan Azure Anda:
Tarik rentang IP terbaru dari file JSON.
Sebaiknya baca data dari file JSON ini setidaknya setiap minggu agar konfigurasi keamanan Anda tetap terbaru. Saat rentang baru ditambahkan ke file, sistem akan menunggu setidaknya 7 hari sebelum menggunakan rentang tersebut untuk permintaan dari STS.
Untuk contoh skrip Python yang mengambil rentang IP dari file JSON, lihat Alamat IP untuk domain default.
Bandingkan rentang IP saat ini
creationTimedengan rentang IPcreationTimeyang dibaca dari file JSON sebelumnya. Jika berbeda, perbarui batasan akses IP di blobstores Amazon S3 dan Azure Storage.Untuk Amazon S3
Untuk memperbarui batasan akses IP di blobstore Amazon S3 Anda:
Jika project AWS Anda menggunakan pembatasan IP untuk akses ke penyimpanan, Anda harus menambahkan rentang IP yang digunakan oleh pekerja STS ke daftar IP yang diizinkan.
Untuk menambahkan rentang ini sebagai IP yang diizinkan, gunakan kolom
Conditiondalambucket policy, seperti yang dijelaskan dalam dokumentasi AWS S3: Mengelola akses berdasarkan alamat IP tertentu.Untuk Azure Storage
Untuk memperbarui batasan akses IP di blobstore Azure Storage Anda:
Jika membatasi akses ke resource Azure menggunakan firewall Azure Storage, Anda harus menambahkan rentang IP yang digunakan oleh pekerja STS ke daftar IP yang diizinkan.
Untuk menambahkan rentang ini sebagai IP yang diizinkan, ikuti petunjuk berikut: Mengonfigurasi firewall dan jaringan virtual Azure Storage.
Menyiapkan feed push Pub/Sub
Untuk menyiapkan feed push Pub/Sub, lakukan hal berikut:
- Buat feed push Pub/Sub.
- Tentukan URL endpoint di langganan Pub/Sub.
Membuat feed push Pub/Sub
- Di menu Google SecOps, pilih Setelan, lalu klik Feed.
- Klik Tambahkan baru.
- Di kolom Nama feed, masukkan nama untuk feed.
- Dalam daftar Source type, pilih Google Cloud Pub/Sub Push.
- Pilih Jenis log. Misalnya, untuk membuat feed untuk Open Cybersecurity Schema Framework, pilih Open Cybersecurity Schema Framework (OCSF) sebagai Jenis log.
- Klik Berikutnya.
- Opsional: Tentukan nilai untuk parameter input berikut:
- Pembatas pemisahan: pembatas yang digunakan untuk memisahkan baris log. Anda hanya dapat menggunakan
\n. - Namespace aset: namespace aset.
- Label penyerapan: label yang akan diterapkan ke peristiwa dari feed ini.
- Pembatas pemisahan: pembatas yang digunakan untuk memisahkan baris log. Anda hanya dapat menggunakan
- Klik Berikutnya.
- Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.
- Dari tab Detail, salin URL endpoint feed dari kolom Informasi Endpoint. Anda memerlukan URL endpoint ini untuk membuat langganan push di Pub/Sub.
- Opsional: Klik tombol Feed Diaktifkan untuk menonaktifkan feed. Feed diaktifkan secara default.
- Klik Done.
Tentukan URL endpoint
Setelah membuat feed push Pub/Sub, tentukan URL endpoint sebagai berikut:
- Di Pub/Sub, buat langganan push. Untuk mengetahui informasi selengkapnya tentang cara membuat langganan push, lihat Membuat langganan push.
- Tentukan URL endpoint, yang tersedia di feed push Pub/Sub Google Cloud .
- Pilih Aktifkan autentikasi, lalu pilih akun layanan.
- Nonaktifkan opsi Pembukaan payload push dan Tulis metadata pesan pembukaan payload push.
Menyiapkan feed Amazon Data Firehose
Untuk menyiapkan feed Amazon Data Firehose, lakukan hal berikut:
- Buat feed Amazon Data Firehose, lalu salin URL endpoint dan kunci rahasia.
- Buat kunci API untuk mengautentikasi ke Google SecOps. Anda juga dapat menggunakan kembali kunci API yang ada untuk mengautentikasi ke Google SecOps.
- Tentukan URL endpoint di Amazon Data Firehose.
Membuat feed Amazon Data Firehose
- Di menu Google SecOps, pilih Setelan, lalu klik Feed.
- Klik Tambahkan baru.
- Di kolom Nama feed, masukkan nama untuk feed.
- Di daftar Source type, pilih Amazon Data Firehose.
- Pilih Jenis log. Misalnya, untuk membuat feed untuk Open Cybersecurity Schema Framework, pilih Open Cybersecurity Schema Framework (OCSF) sebagai Jenis log.
- Klik Berikutnya.
- Opsional: Tentukan nilai untuk parameter input berikut:
- Pembatas pemisahan: pembatas yang digunakan untuk memisahkan baris log. Anda hanya dapat menggunakan
\n. - Namespace aset: namespace aset.
- Label penyerapan: label yang akan diterapkan ke peristiwa dari feed ini.
- Pembatas pemisahan: pembatas yang digunakan untuk memisahkan baris log. Anda hanya dapat menggunakan
- Klik Berikutnya.
- Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.
- Klik Buat Kunci Rahasia untuk membuat kunci rahasia guna mengautentikasi feed ini.
- Salin dan simpan kunci rahasia karena Anda tidak dapat melihat rahasia ini lagi. Anda dapat membuat kunci rahasia baru lagi, tetapi pembuatan ulang kunci rahasia akan membuat kunci rahasia sebelumnya tidak berlaku.
- Di tab Detail, salin URL endpoint feed dari kolom Informasi Endpoint. Anda memerlukan URL endpoint ini saat menentukan setelan tujuan untuk aliran pengiriman di Amazon Data Firehose.
- Opsional: Klik tombol Feed Diaktifkan untuk menonaktifkan feed. Feed diaktifkan secara default.
- Klik Done.
Membuat kunci API untuk feed Amazon Data Firehose
Untuk membuat kunci API untuk feed Amazon Data Firehose, lakukan hal berikut:
- Buka halaman Credentials di konsol Google Cloud .
- Klik Create credentials, lalu pilih API key.
- Membatasi akses kunci API ke Chronicle API.
Tentukan URL endpoint
Di Amazon Data Firehose, tentukan endpoint HTTPS dan kunci akses, sebagai berikut:
Tambahkan kunci API ke URL endpoint feed dan tentukan URL ini sebagai URL endpoint HTTP dalam format berikut:
ENDPOINT_URL?key=API_KEYGanti kode berikut:
ENDPOINT_URL: URL endpoint feed.API_KEY: kunci API untuk mengautentikasi ke Google SecOps.
Untuk kunci akses, tentukan kunci rahasia yang Anda peroleh saat membuat feed Amazon Data Firehose.
Menyiapkan feed webhook HTTPS
Sebelum memulai:
- Pastikan projectGoogle Cloud untuk Google SecOps dikonfigurasi dan Chronicle API diaktifkan untuk project tersebut.
Untuk menyiapkan feed webhook HTTPS, lakukan hal berikut:
- Buat feed webhook HTTPS, lalu salin URL endpoint dan kunci rahasia.
- Buat kunci API yang ditentukan dengan URL endpoint. Anda juga dapat menggunakan kembali kunci API yang ada untuk melakukan autentikasi ke Google SecOps.
- Tentukan URL endpoint di aplikasi Anda.
Mengirim beberapa peristiwa dalam satu permintaan webhook
Contoh kode berikut menunjukkan cara memformat isi permintaan tunggal dengan beberapa objek JSON yang dipisahkan oleh baris baru setelah item curl --location:
--header 'Content-Type: application/json' \
--header 'X-goog-api-key: API_KEY' \
--header 'X-Webhook-Access-Key: SECRET' \
--data '{"principal": {"asset_id": "asset 123"}, "metadata": {"event_type": "GENERIC_EVENT", "product_name": "Product Acme"}}
{"principal": {"asset_id": "asset 123"}, "metadata": {"event_type": "GENERIC_EVENT", "product_name": "Product Acme"}}'
Membuat feed webhook HTTPS
- Di menu Google SecOps, pilih Setelan, lalu klik Feed.
- Klik Tambahkan baru.
- Di kolom Nama feed, masukkan nama untuk feed.
- Dalam daftar Jenis sumber, pilih Webhook.
- Pilih Jenis log. Misalnya, untuk membuat feed untuk Open Cybersecurity Schema Framework, pilih Open Cybersecurity Schema Framework (OCSF) sebagai Jenis log.
- Klik Berikutnya.
- Opsional: Tentukan nilai untuk parameter input berikut:
- Pembatas pemisahan: pembatas yang digunakan untuk memisahkan baris log. Anda hanya dapat menggunakan
\n. - Namespace aset: namespace aset.
- Label penyerapan: label yang akan diterapkan ke peristiwa dari feed ini.
- Pembatas pemisahan: pembatas yang digunakan untuk memisahkan baris log. Anda hanya dapat menggunakan
- Klik Berikutnya.
- Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.
- Klik Buat Kunci Rahasia untuk membuat kunci rahasia guna mengautentikasi feed ini.
- Salin dan simpan kunci rahasia karena Anda tidak dapat melihat rahasia ini lagi. Anda dapat membuat kunci rahasia baru lagi, tetapi pembuatan ulang kunci rahasia akan membuat kunci rahasia sebelumnya tidak berlaku.
- Dari tab Detail, salin URL endpoint feed dari kolom Informasi Endpoint. Anda perlu menentukan URL endpoint ini di aplikasi klien Anda.
- Opsional: Klik tombol Feed Diaktifkan untuk menonaktifkan feed. Feed diaktifkan secara default.
- Klik Done.
Membuat kunci API untuk feed webhook
- Buka halaman Google Cloud konsol Credentials.
- Klik Create credentials, lalu pilih API key.
- Membatasi akses kunci API ke Chronicle API.
Tentukan URL endpoint
- Di aplikasi klien, tentukan endpoint HTTPS, yang tersedia di feed webhook.
Aktifkan autentikasi dengan menentukan kunci API dan kunci rahasia sebagai bagian dari header kustom dalam format berikut:
X-goog-api-key = API_KEYX-Webhook-Access-Key = SECRETSebaiknya tentukan kunci API sebagai header, bukan menentukannya di URL. Jika klien webhook Anda tidak mendukung header kustom, Anda dapat menentukan kunci API dan kunci rahasia menggunakan parameter kueri dalam format berikut:
ENDPOINT_URL?key=API_KEY&secret=SECRETGanti kode berikut:
ENDPOINT_URL: URL endpoint feed.API_KEY: kunci API untuk mengautentikasi ke Google SecOps.SECRET: kunci rahasia yang Anda buat untuk mengautentikasi feed.
Menyiapkan feed API Kustom
Feed API Kustom Google Security Operations (juga dikenal sebagai Konektor Tanpa Kode) memungkinkan Anda menyerap telemetri dari REST API pihak ketiga menggunakan model berbasis konfigurasi yang fleksibel. Anda dapat mengonfigurasi penarikan data dengan menentukan endpoint, autentikasi, strategi penomoran halaman, dan pengelolaan status langsung di konsol.
Manfaat utama
- Mempercepat integrasi: Aktifkan sumber telemetri baru dalam hitungan menit melalui wizard terpandu tanpa menunggu pembaruan backend.
- Checkpointing dengan status: Memastikan tidak ada duplikasi data dan tidak ada log yang hilang di seluruh siklus polling.
- Penyebaran induk-turunan: Mendukung alur kerja penemuan dua tingkat, seperti mencantumkan resource dan mengambil telemetri terkaitnya.
- Ketahanan dan pembatasan kecepatan otomatis: Mencegah pembatasan vendor dan kehabisan kuota. Untuk penyerapan yang andal dan tanpa gangguan, feed API Kustom secara otomatis menangani respons HTTP 429 dengan backoff eksponensial, mengatur kecepatan permintaan dengan pembatasan kapasitas yang dapat dikonfigurasi dan penundaan tugas yang teratur, serta menerapkan pengamanan. Untuk mengetahui informasi selengkapnya, lihat Pembatasan kapasitas dan panduan throttling.
Prasyarat
Verifikasi prasyarat berikut sebelum membuat feed API Kustom:
- Izin: Untuk membuat atau mengubah feed, Anda harus memiliki peran Admin Chronicle API (
roles/chronicle.admin) atau Editor Chronicle API (roles/chronicle.editor). - Persyaratan API pihak ketiga:
- URL dasar API yang valid (harus menggunakan
https://). - Kredensial API (Kunci API, kredensial Autentikasi Dasar, atau Client ID/Secret OAuth 2.0).
- Dokumentasi API Vendor yang menjelaskan jalur endpoint, parameter permintaan, struktur respons JSON, dan batas kecepatan.
- URL dasar API yang valid (harus menggunakan
- Akses Secret Manager: Kredensial dienkripsi dan dikelola dengan aman dalam Secret Manager. Identitas layanan yang menjalankan konektor akan otomatis berinteraksi dengan Secret Manager (
roles/secretmanager.secretAccessordanroles/secretmanager.admin).
Mengonfigurasi feed API Kustom
Untuk mengonfigurasi feed API Kustom, lakukan hal berikut:
- Buka Setelan SIEM > Feed.
- Klik Tambahkan feed baru.
- Klik Konfigurasi satu feed.
- Di kolom Nama feed, masukkan nama deskriptif yang unik (misalnya,
1Password-Audit-Events). - Dalam daftar Source type, pilih Custom API.
- Di daftar Log type, pilih Target Jenis Log Google SecOps.
- Klik Berikutnya.
Di bagian Setelan umum, konfigurasi hal berikut:
URL Dasar: Masukkan host utama (misalnya,
https://events.1password.com). Host harus diawali denganhttps://. Jangan tambahkan sub-jalur atau garis miring di akhir.Frekuensi polling: Tentukan seberapa sering platform memeriksa API untuk telemetri baru, dalam menit. Rentang yang didukung: 5 hingga 2880 menit (default: 15 menit). Untuk feed Standard API (Sequential), 10–15 menit adalah waktu standar; untuk feed List & Detail (Parent-Child), 30–60 menit direkomendasikan untuk memungkinkan eksekusi tugas fan-out penuh tanpa tumpang-tindih.
Di bagian Authentication, pilih salah satu metode autentikasi yang didukung, lalu konfigurasi kolom yang diperlukan:
- Autentikasi Dasar: Masukkan Nama Pengguna (identitas akun API) dan Secret (yaitu, sandi atau token rahasia).
- Kredensial Klien OAuth 2.0: Lakukan autentikasi menggunakan alur Pemberian Kredensial Klien OAuth 2.0. SecOps Google secara otomatis meminta, menyimpan dalam cache, dan memperbarui token akses pembawa sebelum setiap siklus penyerapan. Masukkan endpoint token OAuth (misalnya,
https://auth.vendor.com/oauth/token), ID klien OAuth, dan rahasia klien OAuth. - Header Permintaan Kunci API: Lakukan autentikasi menggunakan kunci API kustom yang dimasukkan ke dalam header permintaan (pola REST perusahaan yang paling umum). Masukkan Nama header (misalnya,
AuthorizationatauX-API-Key) dan Nilai header (misalnya,Bearer <SECRET_TOKEN>atau<SECRET_KEY>). - Parameter Kueri Kunci API: Lakukan autentikasi menggunakan kunci API kustom yang dimasukkan ke dalam parameter kueri URL. Masukkan Nama parameter kueri (misalnya,
api_key) dan Nilai parameter kueri (misalnya,<SECRET_KEY>).
Pilih model konektor yang digunakan API kustom Anda:
- Standard API (Berurutan): Alur polling linear di mana setiap polling dibangun langsung berdasarkan status polling sebelumnya. Dalam model ini, polling berikutnya menggunakan kursor, token, atau stempel waktu yang diekstrak dari polling sebelumnya untuk mengambil hanya data baru. Pilih kartu ini jika vendor menyediakan endpoint yang langsung menampilkan rekaman peristiwa telemetri (misalnya, 1Password, Okta, SentinelOne, GitHub, atau Slack).
- Daftar & Detail (Induk-Turunan): Alur penemuan dua tingkat. Feed melakukan panggilan awal (induk) untuk mengambil daftar resource atau objek (misalnya, daftar ID pengguna atau zona). Kemudian, feed secara otomatis memunculkan panggilan lanjutan (turunan) yang bergantung untuk mengambil telemetri mendetail untuk setiap resource yang diidentifikasi. Pilih kartu ini jika vendor API memerlukan pola penemuan dua tingkat: pertama, memanggil endpoint untuk mengambil daftar entitas dinamis (misalnya, zona, akun, project, perangkat), lalu menjalankan permintaan detail lanjutan per entitas untuk mengambil telemetri (misalnya, Cloudflare, AWS CloudWatch, atau Tenable).
Jika Anda memilih Standard API (Sequential), lakukan hal berikut:
- Di bagian endpoint API, konfigurasi parameter berikut untuk menentukan rute teknis dan kecepatan laju permintaan:
- Jalur endpoint: Rute API spesifik yang ditambahkan ke URL Dasar (misalnya,
/api/v1/auditevents). Ini menentukan resource telemetri yang tepat untuk dikueri. - Metode HTTP: Pilih GET untuk mengambil data menggunakan parameter kueri URL, atau POST untuk mengirimkan payload penelusuran atau isi filter.
- Jalur endpoint: Rute API spesifik yang ditambahkan ke URL Dasar (misalnya,
- Isi permintaan: Untuk permintaan POST, berikan payload data JSON. Anda dapat menyematkan variabel titik pemeriksaan dinamis seperti
{"limit": 100, "start_time": "{{.last_timestamp}}"}. - Permintaan maks per menit: Masukkan jumlah maksimum permintaan yang akan dikirim per menit. Ini adalah pembatasan kapasitas sisi klien untuk mematuhi batas kapasitas API vendor (default: 5 RPM = 1 permintaan setiap 12 detik). Setelan ini mencegah kuota habis selama penomoran halaman multi-halaman.
- Opsional: Di bagian Custom headers, konfigurasi Header name dan Value, lalu klik Add untuk menentukan header HTTP khusus yang diperlukan oleh target API (misalnya,
Content-Type: application/json, Accept: application/json). - Opsional: Di bagian Parameter kueri, konfigurasi Kunci dan Nilai, lalu klik Tambahkan untuk menentukan filter atau opsi tambahan yang ditambahkan ke string kueri URL (misalnya,
count=1000,status=active) atau mengikat variabel template dinamis (misalnya,start={{.last_run_time}}). - Di bagian Strategi penomoran halaman: Pilih mekanisme penomoran halaman yang diperlukan API pihak ketiga untuk menangani set hasil multi-halaman, lalu konfigurasikan kolom yang diperlukan:
- Tidak Ada: Ambil data dalam satu permintaan tanpa penomoran halaman.
- Penomoran Halaman Token: Gunakan token (kunci kustom) untuk mendapatkan halaman berikutnya. Masukkan Jalur JSON token halaman berikutnya (misalnya,
meta.next_cursor) dan Nama parameter kueri penomoran halaman token (misalnya,cursor). - Penomoran Halaman Link: Ikuti URL yang diberikan dalam respons untuk mendapatkan lebih banyak data. Masukkan jalur JSON link Halaman berikutnya (misalnya,
links.nextatau@odata.nextLink). - Penomoran Halaman Offset: Lewati sejumlah kumpulan data untuk mendapatkan kumpulan berikutnya. Masukkan Nama parameter kueri offset (misalnya,
offset). - Penomoran Halaman: Buka nomor halaman berurutan berikutnya. Masukkan Nama parameter kueri nomor halaman (misalnya,
page).
Di bagian Checkpointing, konfigurasikan setelan yang memungkinkan konektor mengingat posisi terakhirnya di antara siklus polling berulang:
- Strategi: Pilih salah satu strategi berikut dan konfigurasi kolom yang diperlukan:
- Tidak Ada: Ambil semua data yang tersedia tanpa melacak progres di seluruh siklus.
- Stempel Waktu Terbaru: Melacak stempel waktu data terbaru. Masukkan Jalur JSON nilai titik pemeriksaan (misalnya,
timestampatauevent_time) dan Variabel titik pemeriksaan (misalnya,last_run_time, yang dirujuk dalam polling berikutnya sebagai{{.last_run_time}}). - Kumpulan Data Terbaru: Lacak ID kumpulan data tertinggi untuk mengambil hanya kumpulan data baru. Masukkan Jalur JSON nilai titik pemeriksaan (misalnya,
idatauevent_id) dan Variabel titik pemeriksaan (misalnya,last_id, dirujuk sebagai{{.last_id}}). - Token Iterator: Gunakan token kelanjutan persisten yang disediakan oleh API. Masukkan Jalur JSON nilai titik pemeriksaan dan Variabel titik pemeriksaan (misalnya,
iterator_token, dirujuk sebagai{{.iterator_token}}).
- Strategi: Pilih salah satu strategi berikut dan konfigurasi kolom yang diperlukan:
Di bagian Pemetaan Respons, berikan aturan yang memberi tahu platform cara menemukan dan mengekstrak log:
- Jalur JSON data target: Masukkan jalur yang tepat di payload respons API tempat daftar entri log target berada. Untuk array yang dibungkus objek (misalnya,
{"items": [...]}), masukkanitems. Untuk API yang menampilkan array JSON root secara langsung (misalnya,[{...}, {...}]), biarkan kolom ini benar-benar kosong ([]).
- Jalur JSON data target: Masukkan jalur yang tepat di payload respons API tempat daftar entri log target berada. Untuk array yang dibungkus objek (misalnya,
- Di bagian endpoint API, konfigurasi parameter berikut untuk menentukan rute teknis dan kecepatan laju permintaan:
Jika Anda memilih Daftar & Detail (Induk-Turunan), lakukan tindakan berikut:
- Permintaan Induk (Penemuan): Konfigurasi endpoint yang menampilkan daftar item:
- Di bagian endpoint API, konfigurasi parameter berikut untuk menentukan rute teknis dan kecepatan laju permintaan:
- Jalur endpoint: Rute API tertentu yang ditambahkan ke URL Dasar (misalnya,
/api/v1/auditevents). Ini menentukan resource telemetri yang tepat untuk dikueri. - Metode HTTP: Pilih GET untuk mengambil data menggunakan parameter kueri URL, atau POST untuk mengirimkan payload penelusuran atau isi filter.
- Isi permintaan: Untuk permintaan POST, berikan payload data JSON. Anda dapat menyematkan variabel titik pemeriksaan dinamis seperti
{"limit": 100, "start_time": "{{.last_timestamp}}"}.
- Jalur endpoint: Rute API tertentu yang ditambahkan ke URL Dasar (misalnya,
- Permintaan maks per menit: Masukkan jumlah maksimum permintaan yang akan dikirim per menit. Ini adalah pembatasan kapasitas sisi klien untuk mematuhi batas kapasitas API vendor (default: 5 RPM = 1 permintaan setiap 12 detik). Setelan ini mencegah kuota habis selama penomoran halaman multi-halaman.
- Opsional: Di bagian Custom headers, konfigurasi Header name dan Value, lalu klik Add untuk menentukan header HTTP khusus yang diperlukan oleh target API (misalnya,
Content-Type: application/json, Accept: application/json). - Opsional: Di bagian Parameter kueri, konfigurasi Kunci dan Nilai, lalu klik Tambahkan untuk menentukan filter atau opsi tambahan yang ditambahkan ke string kueri URL (misalnya,
count=1000,status=active) atau mengikat variabel template dinamis (misalnya,start={{.last_run_time}}). - Di bagian Strategi penomoran halaman: Pilih mekanisme penomoran halaman yang diperlukan API pihak ketiga untuk menangani set hasil multi-halaman, lalu konfigurasikan kolom yang diperlukan:
- Tidak Ada: Ambil data dalam satu permintaan tanpa penomoran halaman.
- Penomoran Halaman Token: Gunakan token (kunci kustom) untuk mendapatkan halaman berikutnya. Masukkan Jalur JSON token halaman berikutnya (misalnya,
meta.next_cursor) dan Nama parameter kueri penomoran halaman token (misalnya,cursor). - Penomoran Halaman Link: Ikuti URL yang diberikan dalam respons untuk mendapatkan lebih banyak data. Masukkan jalur JSON link Halaman berikutnya (misalnya,
links.nextatau@odata.nextLink). - Penomoran Halaman Offset: Lewati sejumlah kumpulan data untuk mendapatkan kumpulan berikutnya. Masukkan Nama parameter kueri offset (misalnya,
offset). - Penomoran Halaman: Buka nomor halaman berurutan berikutnya. Masukkan Nama parameter kueri nomor halaman (misalnya,
page).
- Di bagian Checkpointing, konfigurasikan setelan yang memungkinkan konektor mengingat tempat terakhir kali konektor berhenti di antara siklus polling berulang:
- Strategi: Pilih salah satu strategi berikut dan konfigurasi kolom yang diperlukan:
- Tidak Ada: Ambil semua data yang tersedia tanpa melacak progres di seluruh siklus.
- Stempel Waktu Terbaru: Melacak stempel waktu data terbaru. Masukkan Jalur JSON nilai titik pemeriksaan (misalnya,
timestampatauevent_time) dan Variabel titik pemeriksaan (misalnya,last_run_time, yang dirujuk dalam polling berikutnya sebagai{{.last_run_time}}). - Kumpulan Data Terbaru: Lacak ID kumpulan data tertinggi untuk mengambil hanya kumpulan data baru. Masukkan Jalur JSON nilai titik pemeriksaan (misalnya,
idatauevent_id) dan Variabel titik pemeriksaan (misalnya,last_id, dirujuk sebagai{{.last_id}}). - Token Iterator: Gunakan token kelanjutan persisten yang disediakan oleh API. Masukkan Jalur JSON nilai titik pemeriksaan dan Variabel titik pemeriksaan (misalnya,
iterator_token, dirujuk sebagai{{.iterator_token}}).
- Strategi: Pilih salah satu strategi berikut dan konfigurasi kolom yang diperlukan:
- Di bagian endpoint API, konfigurasi parameter berikut untuk menentukan rute teknis dan kecepatan laju permintaan:
- Ekstraksi data (jembatan): Konfigurasi hal berikut:
- Jalur JSON ID item: Kolom tertentu dalam respons induk yang secara unik mengidentifikasi setiap entity (misalnya,
idatauzone_id). Konektor mengekstrak ID ini dari setiap item dalam array induk. - Nama variabel template: Tentukan nama variabel kustom untuk menyimpan ID yang diekstrak (misalnya,
zone_id). UI menampilkan badge dinamis: Gunakan{{.zone_id}}di permintaan turunan Anda di bawah.
- Jalur JSON ID item: Kolom tertentu dalam respons induk yang secara unik mengidentifikasi setiap entity (misalnya,
- Permintaan Turunan (Detail): Konfigurasi endpoint yang menampilkan log mendetail untuk setiap item:
- Di bagian endpoint API, konfigurasi parameter berikut untuk menentukan rute teknis dan kecepatan laju permintaan:
- Jalur endpoint: Rute API tertentu yang ditambahkan ke URL Dasar (misalnya,
/client/v4/zones/{{.zone_id}}/logs/received). Ini menentukan resource telemetri yang tepat untuk dikueri. - Metode HTTP: Pilih GET untuk mengambil data menggunakan parameter kueri URL, atau POST untuk mengirimkan payload penelusuran atau isi filter.
- Isi permintaan: Untuk permintaan POST, berikan payload data JSON. Anda dapat menyematkan variabel titik pemeriksaan dinamis seperti
{"limit": 100, "start_time": "{{.last_timestamp}}"}.
- Jalur endpoint: Rute API tertentu yang ditambahkan ke URL Dasar (misalnya,
- Permintaan maks per menit: Masukkan jumlah maksimum permintaan yang akan dikirim per menit. Ini adalah pembatasan kapasitas sisi klien untuk mematuhi batas kapasitas API vendor (default: 5 RPM = 1 permintaan setiap 12 detik). Setelan ini mencegah kuota habis selama penomoran halaman multi-halaman.
- Opsional: Di bagian Custom headers, konfigurasi Header name dan Value, lalu klik Add untuk menentukan header HTTP khusus yang diperlukan oleh target API (misalnya,
Content-Type: application/json, Accept: application/json). - Opsional: Di bagian Parameter kueri, konfigurasi Kunci dan Nilai, lalu klik Tambahkan untuk menentukan filter atau opsi tambahan yang ditambahkan ke string kueri URL (misalnya,
count=1000,status=active) atau mengikat variabel template dinamis (misalnya,start={{.last_run_time}}). - Di bagian Strategi penomoran halaman: Pilih mekanisme penomoran halaman yang diperlukan API pihak ketiga untuk menangani set hasil multi-halaman, lalu konfigurasikan kolom yang diperlukan:
- Tidak Ada: Ambil data dalam satu permintaan tanpa penomoran halaman.
- Penomoran Halaman Token: Gunakan token (kunci kustom) untuk mendapatkan halaman berikutnya. Masukkan Jalur JSON token halaman berikutnya (misalnya,
meta.next_cursor) dan Nama parameter kueri penomoran halaman token (misalnya,cursor). - Penomoran Halaman Link: Ikuti URL yang diberikan dalam respons untuk mendapatkan lebih banyak data. Masukkan jalur JSON link Halaman berikutnya (misalnya,
links.nextatau@odata.nextLink). - Penomoran Halaman Offset: Lewati sejumlah kumpulan data untuk mendapatkan kumpulan berikutnya. Masukkan Nama parameter kueri offset (misalnya,
offset). - Penomoran Halaman: Buka nomor halaman berurutan berikutnya. Masukkan Nama parameter kueri nomor halaman (misalnya,
page).
- Di bagian Checkpointing, konfigurasikan setelan yang memungkinkan konektor mengingat tempat terakhir kali konektor berhenti di antara siklus polling berulang:
- Strategi: Pilih salah satu strategi berikut dan konfigurasi kolom yang diperlukan:
- Tidak Ada: Ambil semua data yang tersedia tanpa melacak progres di seluruh siklus.
- Stempel Waktu Terbaru: Melacak stempel waktu data terbaru. Masukkan Jalur JSON nilai titik pemeriksaan (misalnya,
timestampatauevent_time) dan Variabel titik pemeriksaan (misalnya,last_run_time, yang dirujuk dalam polling berikutnya sebagai{{.last_run_time}}).
- Strategi: Pilih salah satu strategi berikut dan konfigurasi kolom yang diperlukan:
- Di bagian endpoint API, konfigurasi parameter berikut untuk menentukan rute teknis dan kecepatan laju permintaan:
- Permintaan Induk (Penemuan): Konfigurasi endpoint yang menampilkan daftar item:
Konfigurasi setelan Penjadwalan & Label berikut:
- Frekuensi Polling: Pilih interval standar (misalnya,
5m,1h). - Namespace: Tag organisasi opsional.
- Label Penyerapan: Pasangan nilai kunci untuk RBAC Data.
- Frekuensi Polling: Pilih interval standar (misalnya,
Klik Kirim. Google SecOps melakukan pemeriksaan validasi endpoint dan kredensial otomatis. Jika validasi berhasil, feed akan mulai melakukan polling.
Contoh konfigurasi 1: Peristiwa audit 1Password (Model Standard API (Sequential))
Konfigurasi JSON deklaratif berikut menunjukkan model Standard API (Sequential), dengan pembuatan titik pemeriksaan berbasis kursor untuk 1Password:
{
"base_url": "https://events.1password.com",
"polling_frequency": 15,
"header_auth": {
"header_key_values": [
{
"key": "Authorization",
"value": "Bearer <SECRET_STORED_IN_SECRET_MANAGER>"
}
]
},
"primary_request": {
"request_settings": {
"endpoint_path": "/api/v1/auditevents",
"http_method": "POST",
"request_body": "{\"limit\": 1000, \"start_time\": \"{{.last_run_time}}\"}",
"custom_headers": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"max_requests_per_minute": 5
},
"pagination_strategy": {
"token": {
"next_page_token_json_path": "additional_items_url",
"query_param": "cursor"
}
},
"checkpointing": {
"latest_timestamp_strategy": {
"checkpoint_value_path": "timestamp",
"checkpoint_variable": "last_run_time"
}
},
"response_mapping": {
"target_data_path": ["items"]
}
}
}
Contoh konkret konfigurasi 2: Telemetri zona Cloudflare (Model Daftar & Detail (Induk-Turunan))
Konfigurasi JSON deklaratif berikut menunjukkan model fan-out List & Detail (Parent-Child) untuk Cloudflare:
{
"base_url": "https://api.cloudflare.com",
"polling_frequency": 30,
"header_auth": {
"header_key_values": [
{
"key": "Authorization",
"value": "Bearer <SECRET_STORED_IN_SECRET_MANAGER>"
}
]
},
"primary_request": {
"request_settings": {
"endpoint_path": "/client/v4/zones",
"http_method": "GET"
},
"response_mapping": {
"target_data_path": ["result"]
},
"pagination_strategy": {
"none": {}
},
"checkpointing": {
"none_strategy": {}
},
"dependent_requests_config": {
"item_id_json_path": "id",
"item_id_variable": "zone_id",
"dependent_requests": [
{
"request_settings": {
"endpoint_path": "/client/v4/zones/{{.zone_id}}/logs/received",
"http_method": "GET",
"query_parameters": [
{
"key": "start",
"value": "{{.last_run_time}}"
},
{
"key": "count",
"value": "1000"
}
],
"max_requests_per_minute": 5
},
"pagination_strategy": {
"none": {}
},
"checkpointing": {
"latest_timestamp_strategy": {
"checkpoint_value_path": "EdgeStartTimestamp",
"checkpoint_variable": "last_run_time"
}
},
"response_mapping": {
"target_data_path": []
}
}
]
}
}
}
Praktik terbaik API kustom
- Panduan frekuensi polling:
- Mulai dengan interval polling sedang: Tetapkan interval polling awal ke 15 menit atau 30 menit untuk endpoint bervolume tinggi guna mengamati perilaku kuota API vendor sebelum menurunkannya menjadi 5 menit.
- Mengoptimalkan untuk fan-out volume tinggi: Untuk feed Induk-Turunan (Daftar & Detail) yang menemukan puluhan atau ratusan resource, Google sangat menyarankan agar Anda menyetel Frekuensi polling ke 30 hingga 60 menit untuk memungkinkan semua tugas turunan yang diatur kecepatannya selesai dengan baik sebelum siklus penemuan berikutnya dimulai.
- Validasi jalur penyerapan: Gunakan dokumentasi vendor atau alat pengujian API untuk mengonfirmasi nama kolom JSON yang tepat untuk stempel waktu sebelum mengonfigurasi pembuatan titik pemeriksaan status.
- Menguraikan API multi-turunan: Jika API pihak ketiga memerlukan pengambilan pemberitahuan dan log audit untuk satu daftar pengguna, buat dua feed turunan tunggal terpisah (satu untuk pemberitahuan dan satu untuk log audit) untuk mempertahankan isolasi yang optimal.
Aturan pembatasan kapasitas dan pembatasan
Untuk mencegah konfigurasi feed pelanggan membebani kuota vendor pihak ketiga atau memonopoli resource sistem, jenis feed API Kustom menerapkan pengamanan otomatis berikut:
- Pengaturan kecepatan permintaan yang dapat dikonfigurasi (pembatasan kapasitas): Permintaan HTTP keluar secara otomatis diatur kecepatannya untuk mencegah terlampauinya batas kapasitas vendor. Kecepatan penyesuaian default adalah 5 permintaan per menit (1 permintaan setiap 12 detik). Anda dapat menyesuaikan ini per endpoint menggunakan kolom Permintaan maksimum per menit di setelan endpoint agar sesuai dengan kuota API yang dipublikasikan vendor Anda.
- Batas permintaan turunan: Untuk feed Induk-Turunan (Daftar & Detail), permintaan penemuan dapat mengirim hingga 500 permintaan turunan per siklus polling.
- Kedalaman fan-out satu tingkat: Konektor secara ketat menerapkan kedalaman fan-out maksimum 1 tingkat (Penemuan induk → Detail turunan). Permintaan dependen bertingkat (panggilan cucu) tidak didukung.
- Batas ukuran payload respons: Ukuran respons HTTP maksimum yang diizinkan untuk setiap permintaan atau halaman adalah 50 MB. Jika API yang tidak berpaginasi menampilkan respons yang melebihi 50 MB, pengambilan akan gagal dengan error resource habis. Untuk mencegah hal ini, selalu konfigurasi parameter kueri penomoran halaman (seperti
limitataupage_size) untuk mengambil kumpulan data dalam batch yang lebih kecil. - Penghentian otomatis HTTP 429: Jika API vendor pihak ketiga merespons dengan HTTP 429 (Terlalu Banyak Permintaan), Google SecOps akan otomatis merekam status dan memulai periode penghentian eksponensial, menghentikan sementara eksekusi tugas hingga periode kuota vendor diisi ulang.
Batasan API kustom
Saat merencanakan jalur penyerapan, perhatikan bahwa jenis feed API Kustom memiliki batasan berikut:
- Dukungan JSON ketat: Hanya respons JSON API yang didukung. Format lain seperti XML, CSV, Parquet, dan Avro tidak didukung.
- Tidak ada penandatanganan permintaan dinamis: API yang memerlukan tanda tangan kriptografi dinamis per permintaan tidak didukung (misalnya, AWS SigV4, Akamai, atau Oracle OCI).
- Tidak ada autentikasi multi-langkah: API yang memerlukan panggilan login terprogram awal untuk menukar kredensial dengan token sesi sementara (seperti Saviynt) sebelum melakukan polling tidak didukung.
- Tidak ada penyerapan WebSockets atau Push: Feed API kustom mendukung polling pull HTTPS standar. Koneksi streaming persisten (WebSockets) dan webhook masuk tidak didukung.
- Tanpa mutual TLS (mTLS): Autentikasi harus mengandalkan kunci API, autentikasi dasar, atau kredensial klien OAuth 2.0 standar. Negosiasi sertifikat sisi klien tidak didukung.
Memecahkan masalah feed API Kustom
Untuk menyelidiki error pada feed API Kustom di Logs Explorer Cloud Logging, gunakan kueri berikut:
resource.type="gce_instance" OR resource.type="generic_task"
jsonPayload.service="gopher"
jsonPayload.feed_id="FEED_ID"
Ganti FEED_ID dengan ID feed Anda.
Untuk memfilter secara khusus permintaan HTTP yang gagal, gunakan kueri berikut:
jsonPayload.service="gopher"
jsonPayload.feed_id="FEED_ID"
jsonPayload.http_status_code >= 400
Ganti FEED_ID dengan ID feed Anda.
Mode kegagalan umum dan solusinya
| Gejala / Error | Akar masalah | Solusi / Perbaikan |
|---|---|---|
| HTTP 401 Unauthorized / HTTP 403 Forbidden | Kunci API, sandi, atau kredensial OAuth sudah tidak berlaku atau tidak valid. | Edit feed, masukkan kembali kredensial yang valid, lalu klik Kirim. |
| HTTP 404 Not Found | Template URL Dasar atau Jalur Endpoint salah. | Periksa endpoint dalam dokumentasi API vendor. Pastikan URL Dasar berakhir dengan benar dan Jalur Endpoint dimulai dengan /. |
| HTTP 429 Too Many Requests | Melebihi batas kapasitas API vendor. | Tingkatkan frekuensi polling atau kurangi parameter limit dalam parameter kueri. |
| Error Ekstraksi JSON (items_path kosong) | Ketidakcocokan di jalur konfigurasi respons. | Verifikasi struktur payload respons API dan perbarui jalur JSON data target. |
| Penyerapan Data Duplikat | Stempel waktu konfigurasi status atau jalur ekstraktor ID tidak valid. | Periksa nama kolom rekaman log untuk stempel waktu dan perbarui jalur ekstraktor. |
Mengelola feed
Setelah mengonfigurasi feed data, gunakan alat pengelolaan untuk memantau kualitas penyerapan, mengubah parameter yang ada, dan mengelola siklus proses feed. Bagian ini menguraikan cara menafsirkan status feed dan melakukan tugas pemeliharaan penting untuk memastikan visibilitas data yang berkelanjutan.
Halaman Feed menyediakan beberapa alat untuk membantu Anda menjelajahi dan mengatur daftar feed yang dikonfigurasi:
Penelusuran: Gunakan kotak penelusuran untuk menemukan feed berdasarkan Nama Feed, ID Feed, atau Jenis sumber.
Filter: Klik ikon filter untuk mempersempit daftar berdasarkan atribut feed tertentu.
Download CSV: Klik Download sebagai CSV untuk mengekspor daftar feed saat ini ke file CSV.
Penomoran halaman: Gunakan kontrol penomoran halaman untuk:
Ubah jumlah Baris per halaman.
Jelajahi beberapa halaman feed menggunakan tab dan panah halaman.
Waktu terakhir diperbarui: Lihat stempel waktu untuk mengetahui kapan daftar feed terakhir diperbarui.
Melihat feed yang dikonfigurasi
Halaman Feed menampilkan semua feed yang telah Anda konfigurasi.
- Buka Setelan SIEM > Feed. Halaman utama menampilkan semua feed yang telah Anda konfigurasi.
- Arahkan kursor ke setiap baris untuk menampilkan menu more_vert Lainnya.
- Di menu, Anda dapat melihat detail feed, mengedit, menonaktifkan, atau menghapus feed.
Memantau status feed
Anda dapat memantau status feed di halaman Feed awal, tempat feed dapat memiliki status berikut:
- Aktif: Feed dikonfigurasi dan siap untuk menyerap data ke akun Google SecOps Anda.
- InProgress: Google SecOps mencoba menarik data dari pihak ketiga yang dikonfigurasi.
- Selesai: Data berhasil diambil oleh feed ini.
- Diarsipkan: Feed dinonaktifkan.
Gagal: Feed gagal mengambil data dengan berhasil. Hal ini kemungkinan disebabkan oleh masalah konfigurasi. Klik pertanyaan untuk menampilkan error konfigurasi. Setelah Anda memperbaiki error dan mengirim ulang feed, kembali ke halaman Feed untuk menentukan apakah feed sekarang berfungsi atau tidak.
Mengedit feed yang ada
Di halaman Feed, Anda dapat mengedit feed yang ada, sebagai berikut:
Arahkan kursor ke feed yang ada, lalu klik more_vert di kolom kanan.
Klik Edit Feed. Sekarang Anda dapat mengubah parameter input untuk feed dan mengirimkannya kembali ke Google SecOps, yang akan mencoba menggunakan feed yang telah diperbarui.
Mengaktifkan (melanjutkan) dan menonaktifkan (menjeda) feed
Jika Anda menonaktifkan feed, Google SecOps akan berhenti menyerap data baru dari sumber tersebut. Untuk menghentikan penyerapan data secara langsung, Anda harus menghapus feed. Transfer aktif atau yang dibatasi yang sudah ada akan dilanjutkan hingga selesai. Saat Anda mengaktifkan kembali feed, Google SecOps dapat mengambil data yang terlewat saat feed dinonaktifkan. Kemampuan ini disebut "kemampuan pengisian ulang".
Di kolom Status, feed yang diaktifkan diberi label Aktif, Sedang Berlangsung, Selesai, atau Gagal. Kolom yang dinonaktifkan diberi label Diarsipkan. Untuk mengetahui deskripsinya, lihat Memantau status feed.
Di halaman Feed, Anda dapat mengaktifkan (melanjutkan) atau menonaktifkan (menjeda) feed yang ada:
Arahkan kursor ke feed yang ada, lalu klik more_vert di kolom kanan.
Opsional: Klik tombol Feed Diaktifkan untuk mengaktifkan feed.
Opsional: Klik tombol Nonaktifkan Feed untuk menonaktifkan feed. Feed kini diberi label Diarsipkan.
Pemulihan data saat Anda mengaktifkan kembali feed (kemampuan pengisian ulang)
Kemampuan Google SecOps untuk mengisi ulang data bergantung pada apakah feed Anda berbasis pull (didukung) atau berbasis push (tidak didukung).
Feed berbasis penarikan
Dengan feed ini, Google SecOps menarik data dari sumber eksternal. Feed tarik meliputi:
- Bucket penyimpanan cloud, seperti Amazon S3, Google Cloud Storage, Azure Blob Storage
- Server SFTP
API pihak ketiga, seperti Microsoft 365, Okta, Proofpoint
Saat Anda mengaktifkan kembali feed berbasis penarikan, Google SecOps dapat mengambil data yang dihasilkan saat feed dinonaktifkan.
Feed berbasis push
Dengan feed ini, sistem eksternal "mendorong" data ke Google SecOps. Feed push mencakup:
- Webhook HTTPS
- Google Cloud Pub/Sub
- Amazon Kinesis Data Firehose
- Penyerapan API/agen langsung, seperti Bindplane
Google SecOps tidak dapat otomatis memulai pengisian ulang data dari feed berbasis push. Saat feed dinonaktifkan dan sistem Anda mengirimkan data, Google SecOps akan mengirimkan error HTTP 403 Forbidden atau error 4xx umum.
Jika sistem Anda tidak menyimpan dan mencoba lagi mengirim data ke Google SecOps, data akan hilang. Selain itu, jika sistem Anda disetel ke "hapus saat gagal" atau menghapus buffer-nya, data akan hilang secara permanen untuk jangka waktu tersebut. Untuk menghindari kehilangan data, Anda harus mengonfigurasi sistem untuk melakukan buffering dan mengirim ulang data setelah feed diaktifkan kembali. Kemudian, Google SecOps dapat menyerap data yang terlewat saat feed dilanjutkan.
Pertimbangan pengisian ulang
- Batasan sistem sumber: Jumlah data historis yang dapat diisi ulang oleh Google SecOps dari feed berbasis penarikan dibatasi oleh berapa lama sistem sumber menyimpan data dan apa yang diizinkan oleh API-nya. Misalnya, beberapa API hanya memberikan akses ke data tujuh hari terakhir.
- Buffer Google SecOps: Untuk pemulihan otomatis, buffer internal Google SecOps untuk feed berbasis penarikan menyimpan data hingga 90 hari, setelah itu data akan dihapus.
- Batasan tenant: Tenant yang tidak membayar, seperti bukti konsep, mungkin memiliki batasan pada pengisian ulang data lama.
- Kuota penyerapan: Untuk menghindari dampak pada penyerapan data real-time, data pengisian ulang diproses dengan prioritas yang lebih rendah daripada data aktif. Pengisian ulang data berbasis penarikan juga dibatasi lajunya, biasanya hingga sepertiga (33%) dari batas lonjakan tenant Anda per jenis log. Hal ini memastikan feed berbasis push yang penting, seperti agen EDR, tidak terpengaruh secara negatif.
- Pembatasan frekuensi dinamis: Jika pengisian ulang menghabiskan semua kuota penarikan yang tersedia, penyerapan akan dijeda selama sisa interval lima menit dan dilanjutkan secara otomatis saat interval dimulai ulang.
- Penyimpanan cloud: Anda dapat menggunakan setelan feed untuk mengontrol pengisian ulang, seperti filter untuk file baru atau yang diperbarui, atau filter rentang tanggal, seperti "Usia file maksimum".
- Tumpukan data yang besar: Jika tumpukan data yang besar dari feed berbasis penarikan menyebabkan masalah saat diaktifkan kembali, Anda dapat menghubungi Dukungan Google untuk menghapus tumpukan data tersebut. Artinya, feed hanya akan mulai menyerap data baru ke depannya, dan data yang terlewat tidak akan diisi ulang.
- Mengedit feed yang dinonaktifkan: Setiap perubahan konfigurasi yang dilakukan pada feed saat feed dinonaktifkan akan diterapkan segera setelah feed diaktifkan kembali.
Menghapus feed
Di halaman Feed, Anda juga dapat menghapus feed yang ada:
Arahkan kursor ke feed yang ada, lalu klik more_vert di kolom kanan.
Klik Hapus Feed. Jendela HAPUS FEED akan terbuka. Untuk menghapus feed secara permanen, klik Ya, hapus.
Untuk feed API Kustom, jendela dialog akan muncul dengan kotak centang opsional: Hapus data backlog yang tertunda:
- Tidak dicentang (Default): Konfigurasi dan kredensial feed dihapus, tetapi data backlog yang diantrekan diizinkan untuk diproses hingga penyerapan.
- Dicentang: Konfigurasi feed, kredensial, dan semua data backlog yang tertunda akan dihapus secara permanen.
Mengontrol kecepatan penyerapan
Jika kecepatan penyerapan data untuk tenant mencapai nilai minimum tertentu, Google Security Operations akan membatasi kecepatan penyerapan untuk feed data baru guna mencegah sumber dengan kecepatan penyerapan yang tinggi memengaruhi kecepatan penyerapan sumber data lain. Dalam kasus ini, terjadi penundaan, tetapi tidak ada data yang hilang. Volume penyerapan dan histori penggunaan tenant menentukan nilai minimum.
Anda dapat meminta peningkatan batas kapasitas dengan menghubungi Cloud Customer Care.
Memecahkan masalah feed yang gagal
Di halaman Feed, Anda dapat melihat detail seperti jenis sumber, jenis log, ID feed, dan status feed yang ada, sebagai berikut:
Arahkan kursor ke feed yang ada, lalu klik more_vert di kolom kanan.
Klik Lihat Feed. Dialog akan muncul dan menampilkan detail feed. Untuk feed yang gagal, Anda dapat menemukan detail error di bagian Detail > Status.
Untuk feed yang gagal, detailnya mencakup penyebab error dan langkah-langkah untuk memperbaikinya.
Lihat tabel Error Sumber dan Penyerapan untuk mengetahui pesan error yang mungkin Anda temui saat bekerja dengan feed data.
Untuk analisis dan pemecahan masalah aktivitas feed yang mendetail, Anda dapat melihat log di Cloud Logging. Lihat Menganalisis aktivitas feed dengan Cloud Logging.
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.