Mengekspor log mentah ke bucket Google Cloud Storage yang dikelola sendiri
Data Export API memfasilitasi ekspor massal data keamanan Anda dari Google Security Operations ke bucket Cloud Storage yang Anda kontrol. Kemampuan ini mendukung retensi data jangka panjang yang penting, dan mendukung analisis forensik historis, serta persyaratan kepatuhan yang ketat (seperti SOX dan GDPR).
Untuk mengetahui informasi referensi API yang mendetail, lihat Data Export API (yang ditingkatkan).
Data Export API menyediakan solusi yang skalabel dan andal untuk ekspor data point-in-time dan menangani permintaan hingga 100 TB.
Sebagai pipeline terkelola, fitur ini menawarkan fitur penting tingkat perusahaan, termasuk:
- Percobaan ulang otomatis pada error sementara
- Pemantauan status tugas yang komprehensif
- Jejak audit lengkap untuk setiap tugas ekspor
API secara logis mempartisi data yang diekspor menurut tanggal dan waktu dalam bucket Google Cloud Storage Anda.
Fitur ini memungkinkan Anda membuat alur kerja pelepasan data skala besar. Google SecOps mengelola kompleksitas proses ekspor untuk memberikan stabilitas dan performa.
Manfaat utama
Data Export API menyediakan solusi yang tangguh dan dapat diaudit untuk mengelola siklus proses data keamanan Anda, dengan manfaat utama berikut:
- Keandalan: layanan menangani transfer data berskala besar. Sistem
menggunakan strategi backoff eksponensial untuk otomatis mencoba ulang tugas ekspor yang
mengalami masalah sementara (misalnya, masalah jaringan sementara), sehingga
tugas tersebut menjadi tangguh. Jika tugas ekspor Anda gagal karena error sementara, tugas tersebut akan otomatis dicoba ulang beberapa kali. Jika tugas gagal secara permanen setelah semua
percobaan ulang, sistem akan memperbarui statusnya menjadi
FINISHED_FAILURE, dan respons API untuk tugas tersebut berisi pesan error mendetail yang menjelaskan penyebabnya. Kemampuan audit yang komprehensif: untuk memenuhi standar kepatuhan dan keamanan yang ketat, sistem mencatat setiap tindakan yang terkait dengan tugas ekspor dalam jejak audit yang tidak dapat diubah. Log ini mencakup pembuatan, mulai, keberhasilan, atau kegagalan setiap tugas, beserta pengguna yang memulai tindakan, stempel waktu, dan parameter tugas.
Dioptimalkan untuk performa dan skala: API menggunakan sistem pengelolaan tugas yang andal. Sistem ini mencakup antrean dan prioritas untuk memberikan stabilitas platform dan mencegah satu tenant memonopoli resource.
Integritas dan aksesibilitas data yang ditingkatkan: sistem secara otomatis mengatur data ke dalam struktur direktori logis dalam bucket Cloud Storage Anda, yang membantu Anda menemukan dan membuat kueri rentang waktu tertentu untuk analisis historis.
Keamanan: API ini dirancang agar sepenuhnya mematuhi kunci enkripsi yang dikelola pelanggan (CMEK) (keamanan zero-trust) dan RBAC data (akses hak istimewa paling rendah). Tugas ekspor mewarisi cakupan visibilitas data pengguna yang memicu permintaan untuk mencegah ekstraksi data yang tidak sah. Pipeline ekspor juga terintegrasi sepenuhnya dengan Google Cloud Key Management Service, dan data tetap dienkripsi dalam penyimpanan di bucket Google Cloud Storage Anda menggunakan kunci Anda sendiri.
Istilah dan konsep utama
- Tugas ekspor: operasi asinkron tunggal untuk mengekspor rentang waktu tertentu dari data log ke bucket Google Cloud Storage. Sistem melacak setiap
tugas dengan
dataExportIdunik. - Status tugas: status tugas ekspor saat ini dalam siklus prosesnya (misalnya,
IN_QUEUE,PROCESSING,FINISHED_SUCCESS). - Bucket Google Cloud Storage: bucket Google Cloud Storage milik pengguna yang berfungsi sebagai tujuan untuk data yang diekspor.
- Jenis log: kategori log tertentu yang dapat Anda ekspor (misalnya,
NIX_SYSTEM,WINDOWS_DNS,CB_EDR). Untuk mengetahui detail selengkapnya, lihat daftar semua jenis log yang didukung.
Memahami struktur data yang diekspor
Saat tugas berhasil diselesaikan, sistem akan menulis data ke bucket Cloud Storage Google Anda. Struktur ini menggunakan struktur direktori berpartisi tertentu untuk menyederhanakan akses dan pembuatan kueri data.
Struktur jalur direktori: gs://GCS_BUCKET_NAME/
EXPORT_JOB_NAME/LOGTYPE/EVENT_TIME_BUCKET/EPOCH_EXECUTION_TIME/FILE_SHARD_NAME.csv
Dengan:
- GCS_BUCKET_NAME: mengacu pada nama bucket Google Cloud Storage Anda.
- EXPORT_JOB_NAME: mengacu pada nama unik tugas ekspor Anda.
- LOGTYPE: mengacu pada nama jenis log untuk data yang diekspor.
- EVENT_TIME_BUCKET: mengacu pada rentang jam stempel waktu peristiwa dari log yang diekspor. Formatnya adalah stempel waktu UTC:
year/month/day/UTC-timestamp—denganUTC-timestampadalahhour/minute/second. Misalnya,2025/08/25/01/00/00merujuk keUTC 01:00:00 AM, August 25, 2025. - EPOCH_EXECUTION_TIME: mengacu pada nilai waktu epoch Unix, yang menunjukkan kapan tugas ekspor dimulai.
- FILE_SHARD_NAME: mengacu pada nama file yang di-sharding yang berisi log mentah. Setiap shard file memiliki batas ukuran file atas sebesar 100 MB.
Performa dan batasan
Layanan ini memiliki batas spesifik berikut untuk memastikan stabilitas platform dan alokasi resource yang adil:
- Volume data maksimum per tugas: setiap tugas ekspor individual dapat meminta data hingga 100 TB. Untuk set data yang lebih besar, Google merekomendasikan untuk memecah ekspor menjadi beberapa tugas dengan rentang waktu yang lebih kecil.
- Tugas serentak: setiap tenant pelanggan dapat menjalankan atau mengantrekan maksimum tiga tugas ekspor secara serentak. Sistem menolak permintaan pembuatan tugas baru yang melebihi batas ini.
- Waktu penyelesaian tugas: volume data yang diekspor menentukan waktu penyelesaian tugas. Satu tugas dapat memerlukan waktu hingga 18 jam.
- Format ekspor dan cakupan data: API mendukung ekspor massal dan pada satu titik waktu, dengan batasan dan fitur berikut:
- Hanya log mentah: Anda hanya dapat mengekspor log mentah (bukan log UDM, peristiwa UDM, atau deteksi). Untuk mempelajari cara mengekspor data UDM, lihat Mengekspor ke project BigQuery yang dikelola sendiri.
- Kompresi data: API mengekspor data sebagai teks yang tidak dikompresi.
Prasyarat dan arsitektur
Bagian ini menguraikan arsitektur sistem dan persyaratan yang diperlukan untuk menggunakan Data Export API dan menjelaskan arsitektur sistem. Gunakan informasi ini untuk memverifikasi bahwa lingkungan Anda telah dikonfigurasi dengan benar.
Sebelum menggunakan Data Export API, selesaikan langkah-langkah prasyarat berikut untuk menyiapkan tujuan Google Cloud Storage dan memberikan izin yang diperlukan:
Berikan izin kepada pengguna. Untuk menggunakan Data Export API, Anda memerlukan izin berikut di project BYOP Google Cloud yang ditautkan ke tenant Google SecOps Anda:
- chronicle.dataExports.fetchServiceAccountForDataExport
- chronicle.dataExports.create
- chronicle.dataExports.cancel
- chronicle.dataExports.get
- chronicle.dataExports.list
Izin ini merupakan bagian dari peran IAM bawaan berikut:
- Admin Chronicle API: memberikan izin penuh untuk membuat, memperbarui, membatalkan, dan melihat tugas ekspor menggunakan API. Peran ini memberikan akses global.
- Pelihat Chronicle API: memberikan akses hanya baca untuk melihat konfigurasi dan histori tugas menggunakan API. Tanpa peran
restrictedDataAccess, pengguna dengan peran ini dapat melihat semua data (lihat langkah + Tambahkan Peran Lainnya dan tambahkan kondisi).
Menerapkan cakupan RBAC data kepada pengguna. Lakukan hal berikut untuk membatasi pengguna ke cakupan akses data tertentu:
- Pastikan cakupan RBAC data yang ingin Anda terapkan sudah dibuat dalam UI Google SecOps di bagian Setelan > Setelan SIEM > Akses Data > Cakupan. Catat nama lengkap setiap cakupan yang ingin Anda tetapkan kepada pengguna.
Buat peran kustom Identity and Access Management (IAM) untuk pengelolaan ekspor data. Karena peran yang telah ditetapkan mungkin memberikan terlalu banyak akses, atau tidak memiliki kombinasi izin tertentu, lakukan hal berikut untuk membuat peran khusus yang disesuaikan untuk mengelola ekspor data dalam konteks yang tercakup:
- Di konsol Google Cloud , buka IAM & Admin > Roles.
- Klik + Create Role.
- Masukkan judul (misalnya,
SecOps Scoped Data Export User). - Masukkan ID (misalnya,
secopsScopedDataExportUser). - Klik + Tambahkan Izin.
- Filter izin Chronicle dan tambahkan izin yang relevan yang tercantum di langkah pertama (Memberi izin kepada pengguna API).
- Klik Create.
Memberikan peran IAM kepada pengguna. Di halaman IAM, lakukan hal berikut untuk menetapkan peran yang diperlukan kepada pengguna Anda:
- Buka IAM & Admin > IAM.
- Klik + Berikan Akses.
- Untuk New principals, masukkan alamat email pengguna.
Lakukan hal berikut untuk menetapkan peran:
- Tambahkan peran khusus yang Anda buat (misalnya,
SecOps Scoped Data Export User). - Klik + Add Another Role, lalu tambahkan peran Chronicle API Restricted Data Access (
restrictedDataAccess). Peran ini sangat penting untuk menandai pengguna sebagai subjek cakupan data.
- Tambahkan peran khusus yang Anda buat (misalnya,
Tambahkan IAM Condition ke binding peran
Chronicle API Restricted Data Access. Lakukan hal berikut untuk menautkan pengguna ke cakupan data tertentu:- Klik Tambahkan Kondisi IAM.
- Gunakan Pembuat kondisi atau Editor kondisi untuk menentukan cakupan yang diizinkan, menggunakan nama cakupan yang dibuat pada langkah pertama sebagai Nama resource. Misalnya, untuk menggunakan cakupan bernama
scope_test, tetapkan kondisiresource.name.endsWith("/dataAccessScopes/scope_test").
Untuk mempelajari lebih lanjut cara penerapan RBAC data untuk Data Export API, lihat Cara penerapan RBAC data untuk Data Export API.
Buat bucket Google Cloud Storage. Di Google Cloudproject Anda, buat bucket Google Cloud Storage baru (tujuan untuk data yang diekspor) di region yang sama dengan tenant Google SecOps Anda. Setel ke pribadi untuk mencegah akses yang tidak sah. Untuk mengetahui detailnya, lihat Membuat bucket.
Memberikan izin ke Akun Layanan. Lakukan hal berikut untuk memberikan peran IAM yang diperlukan kepada Akun Layanan Google SecOps, yang ditautkan ke tenant Google SecOps Anda, untuk menulis data ke bucket Anda:
Panggil endpoint API
FetchServiceAccountForDataExportuntuk mengidentifikasi Akun Layanan unik instance Google SecOps Anda. API menampilkan email Akun Layanan.Contoh permintaan:
{ "parent": "projects/myproject/locations/us/instances/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" }Contoh respons:
{ "service_account_email": "service-1234@gcp-sa-chronicle.iam.gserviceaccount.com" }Beri pokok akun Layanan SecOps Google peran IAM berikut untuk bucket Google Cloud Storage tujuan, yang memungkinkan layanan SecOps Google menulis file data yang diekspor ke bucket Google Cloud Storage Anda:
Storage object administrator (roles/storage.objectAdmin)Legacy bucket reader (roles/storage.legacyBucketReader)
Untuk mengetahui detailnya, lihat Memberikan akses ke Akun Layanan Google SecOps.
Selesaikan autentikasi. Data Export API mengautentikasi panggilan Anda. Untuk menyiapkan autentikasi ini, ikuti petunjuk di bagian berikut:
Kasus penggunaan utama dan alur kerja inti
Data Export API menyediakan serangkaian endpoint untuk membuat tugas ekspor data dan mengelola seluruh siklus proses ekspor data massal. Anda melakukan semua interaksi menggunakan panggilan API.
Kasus penggunaan berikut menjelaskan cara membuat, memantau, dan mengelola tugas ekspor data.
Membuat tugas ekspor data baru
Sistem menyimpan spesifikasi tugas ekspor data di instance Google SecOps resource induk. Instance ini adalah sumber data log untuk tugas ekspor.
Untuk mempelajari cara mengidentifikasi Akun Layanan unik untuk instance Google SecOps Anda, lihat FetchServiceAccountForDataExports.
Untuk memulai ekspor baru, kirim permintaan
POSTke endpointdataExports.create. Untuk mengetahui detailnya, lihat endpointCreateDataExport.
Memantau status tugas ekspor data
Anda dapat melihat detail dan status tugas ekspor data untuk tugas ekspor tertentu, atau mengonfigurasi filter untuk melihat jenis tugas tertentu.
Untuk mempelajari cara melihat tugas ekspor tertentu, lihat GetDataExport.
Untuk mempelajari cara mencantumkan jenis tugas ekspor data tertentu menggunakan filter, lihat ListDataExport.
Membatalkan tugas dalam antrean
Anda dapat membatalkan tugas saat statusnya IN_QUEUE.
Untuk mempelajari cara membatalkan tugas yang diantrekan, lihat CancelDataExport.
Cara RBAC data diterapkan ke Data Export API
Tugas ekspor mewarisi cakupan RBAC data pengguna yang membuat tugas ekspor, yang mencegah ekstraksi data yang tidak sah.
Jika Anda mencoba mengekspor data yang melampaui izin cakupan akses data Anda, API akan otomatis mengecualikan data tersebut pada saat menjalankan tugas ekspor. Nilai kolom dataRbacFiltered di metadata tugas yang telah selesai (yaitu, tugas dengan status FINISHED_SUCCESS) menunjukkan apakah data dikecualikan. Jika dataRbacFiltered adalah true, beberapa atau semua data yang dipilih untuk tugas ekspor dikecualikan karena berada di luar cakupan RBAC data yang berlaku untuk pembuat tugas. Jika dataRbacFiltered adalah false, tugas ekspor tidak terpengaruh oleh batasan cakupan RBAC data, dan semua data yang disertakan sebagai bagian dari tugas berhasil diekspor.
API menerapkan cakupan RBAC data yang berlaku untuk pembuat pada saat pembuatan tugas. Perubahan apa pun dalam cakupan RBAC data tidak berlaku secara retroaktif untuk tugas yang telah dibuat.
Untuk mempelajari RBAC data lebih lanjut, lihat Ringkasan RBAC data.
Memecahkan masalah umum
API memberikan pesan error mendetail untuk membantu mendiagnosis masalah.
| Kode kanonis | Pesan error |
|---|---|
INVALID_ARGUMENT |
INVALID_REQUEST: Invalid request parameter PARAMETER_1, PARAMETER_2, ... PARAMETER_N. Please fix the request parameters and try again. |
PERMISSION_DENIED |
INSUFFICIENT_PERMISSIONS: Unable to validate request with the current CMEK key. Please fix the CMEK key and try again |
NOT_FOUND |
BUCKET_NOT_FOUND: The destination Google Cloud Storage bucket BUCKET_NAME does not exist. Please create the destination Google Cloud Storage bucket and try again. |
NOT_FOUND |
REQUEST_NOT_FOUND: The dataExportId:DATA_EXPORT_ID does not exist. Please add a valid dataExportId and try again. |
FAILED_PRECONDITION |
BUCKET_INVALID_REGION: The Google Cloud Storage bucket BUCKET_ID's region:REGION_1 is not the same region as the SecOps tenant region:REGION_2. Please create the Google Cloud Storage bucket in the same region as SecOps tenant and try again. |
FAILED_PRECONDITION |
INSUFFICIENT_PERMISSIONS: The Service Account P4SA does not have storage.objects.create, storage.objects.get and storage.buckets.get permissions on the destination Google Cloud Storage bucket BUCKET_NAME. Please provide the required access to the Service Account and try again. |
FAILED_PRECONDITION |
INVALID_CANCELLATION: The request status is in the STATUS stage and can't be cancelled. You can only cancel the request if the status is in the IN_QUEUE stage. |
RESOURCE_EXHAUSTED |
CONCURRENT_REQUEST_LIMIT_EXCEEDED: Maximum concurrent requests limit LIMIT reached for the request size SIZE_LIMIT. Please wait for the existing requests to complete and try again. |
RESOURCE_EXHAUSTED |
REQUEST_SIZE_LIMIT_EXCEEDED: The estimated export volume: ESTIMATED_VOLUME for the request is greater than maximum allowed export volume: ALLOWED_VOLUME per request. Please try again with a request within the allowed export volume limit. |
INTERNAL |
INTERNAL_ERROR: An Internal error occurred. Please try again. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.