Mengumpulkan log Datadog
Dokumen ini menjelaskan cara menyerap log Datadog ke Google Security Operations. Datadog adalah platform pemantauan dan analisis berbasis cloud yang mengumpulkan metrik, rekaman aktivitas, dan log dari aplikasi, infrastruktur, dan layanan cloud. Anda dapat membagikan log Datadog ke Google SecOps menggunakan Cloud Storage atau webhook.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Akses pengguna dengan hak istimewa ke Datadog
- Akses ke Google Cloud konsol (untuk pembuatan kunci API atau konfigurasi Cloud Storage)
Opsi 1: Berbagi log Datadog melalui konfigurasi Cloud Storage
Mengonfigurasi integrasi Datadog dengan Google Cloud
Siapkan integrasi untuk Google Clouddi Datadog. Untuk mengetahui informasi selengkapnya, lihat penyiapan integrasi Datadog Google Cloud .
Membuat Bucket Cloud Storage
- Login ke konsol Google Cloud .
Buka halaman Cloud Storage Buckets.
Klik Buat.
Di halaman Buat bucket, masukkan informasi bucket Anda. Setelah setiap langkah berikut, klik Lanjutkan untuk melanjutkan ke langkah berikutnya:
Di bagian Mulai, lakukan tindakan berikut:
- Masukkan nama unik yang memenuhi persyaratan nama bucket (misalnya,
datadog-data). Untuk mengaktifkan namespace hierarkis, klik panah peluas untuk meluaskan bagian Optimalkan untuk beban kerja berorientasi file dan intensif data, lalu pilih Aktifkan namespace hierarkis di bucket ini.
Untuk menambahkan label bucket, klik panah peluas untuk meluaskan bagian Label.
Klik Tambahkan label, lalu tentukan kunci dan nilai untuk label Anda.
- Masukkan nama unik yang memenuhi persyaratan nama bucket (misalnya,
Di bagian Pilih tempat untuk menyimpan data Anda, lakukan tindakan berikut:
- Pilih Jenis lokasi.
- Gunakan drop-down jenis lokasi untuk memilih Lokasi tempat data objek dalam bucket Anda akan disimpan secara permanen.
Di bagian Pilih kelas penyimpanan untuk data Anda, pilih kelas penyimpanan default untuk bucket, atau pilih Autoclass untuk pengelolaan kelas penyimpanan otomatis untuk data bucket Anda.
Di bagian Pilih cara mengontrol akses ke objek, pilih tidak untuk menerapkan pencegahan akses publik, dan pilih model kontrol akses untuk objek bucket Anda.
Di bagian Pilih cara melindungi data objek, lakukan hal berikut:
- Pilih salah satu opsi di bagian Perlindungan data yang ingin Anda tetapkan untuk bucket.
- Untuk memilih cara mengenkripsi data objek Anda, klik panah peluas berlabel Enkripsi data, lalu pilih Metode enkripsi data.
Klik Create.
Buat Google Cloud Akun Layanan
- Buka IAM & Admin > Service Accounts.
- Buat akun layanan baru.
- Beri nama deskriptif (misalnya,
datadog-user). - Beri akun layanan peran Storage Object Admin di bucket Cloud Storage yang Anda buat pada langkah sebelumnya.
- Buat kunci untuk akun layanan dan pilih JSON sebagai jenis kunci.
- Download file kunci JSON untuk akun layanan. Jaga keamanan file ini.
Mengonfigurasi Datadog untuk mengirim log ke Cloud Storage
- Login ke Datadog menggunakan akun yang memiliki hak istimewa.
- Buka Log > Penerusan Log.
- Klik + Buat Arsip Baru.
- Pilih Google Cloud Storage.
- Masukkan parameter yang diperlukan, lalu klik Simpan.
Mengonfigurasi feed di Google SecOps untuk menyerap log dari bucket Cloud Storage
- Buka Setelan SIEM > Feed.
- Klik Tambahkan Feed Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Di kolom Nama feed, masukkan nama untuk feed (misalnya,
Datadog Logs GCS). - Pilih Google Cloud Storage V2 sebagai Source type.
- Pilih Datadog sebagai Jenis log.
- Klik Dapatkan Akun Layanan untuk mendapatkan akun layanan unik untuk feed ini.
- Beri akun layanan ini peran Storage Object Viewer di bucket Cloud Storage yang dibuat sebelumnya.
- Klik Berikutnya.
- Tentukan nilai untuk parameter input berikut:
- URI Bucket Penyimpanan: URI bucket Cloud Storage dalam format
gs://datadog-data. - Opsi penghapusan sumber: Pilih opsi penghapusan sesuai preferensi Anda.
- Usia File Maksimum: Menyertakan file yang diubah dalam jumlah hari terakhir. Defaultnya adalah 180 hari.
- Namespace aset: Namespace aset.
- Label penyerapan: Label yang diterapkan ke peristiwa dari feed ini.
- URI Bucket Penyimpanan: URI bucket Cloud Storage dalam format
- Klik Berikutnya.
- Tinjau konfigurasi feed di layar Selesaikan, lalu klik Kirim.
Opsi 2: Berbagi log Datadog melalui konfigurasi Webhook
Menyiapkan feed
Untuk mengonfigurasi feed, ikuti langkah-langkah berikut:
- Buka Setelan SIEM > Feed.
- Klik Tambahkan Feed Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Di kolom Nama feed, masukkan nama untuk feed (misalnya,
Datadog Logs). - Pilih Webhook sebagai Jenis sumber.
- Pilih Datadog sebagai Jenis log.
- Klik Berikutnya.
- Opsional: Tentukan nilai untuk parameter input berikut:
- Pembatas pemisahan: pembatas yang digunakan untuk memisahkan baris log, seperti
\n.
- Pembatas pemisahan: pembatas yang digunakan untuk memisahkan baris log, seperti
- Klik Berikutnya.
- Tinjau konfigurasi feed di layar Selesaikan, lalu klik Kirim.
- Klik Buat Kunci Rahasia untuk membuat kunci rahasia guna mengautentikasi feed ini.
- Salin dan simpan kunci rahasia. Anda tidak dapat melihat kunci rahasia ini lagi. Jika perlu, Anda dapat membuat ulang kunci rahasia baru, tetapi tindakan ini 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.
- Klik Done.
Membuat kunci API untuk feed webhook
- Buka konsolGoogle Cloud > Kredensial: Buka Kredensial.
- Klik Create credentials, lalu pilih API key.
- Membatasi akses kunci API ke Chronicle API.
Tentukan URL endpoint
- Di aplikasi klien Anda, tentukan URL endpoint HTTPS yang diberikan 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_KEY X-Webhook-Access-Key = SECRETRekomendasi: 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 Security Operations.SECRET: kunci rahasia yang Anda buat untuk mengautentikasi feed.
Mengonfigurasi Datadog untuk mengirim log ke webhook
- Login ke Datadog menggunakan akun yang memiliki hak istimewa.
- Buka Log > Penerusan Log.
- Pilih Tujuan Kustom.
- Klik + Buat Tujuan Baru.
- Tentukan nilai untuk parameter input berikut:
- Pilih jenis tujuan: Pilih HTTP.
- Beri nama tujuan: Berikan nama deskriptif untuk webhook (misalnya,
Google SecOps Webhook). - Konfigurasi tujuan: Tempelkan ENDPOINT_URL feed. Pilih salah satu opsi autentikasi berikut (bukan keduanya):
- Opsi A (direkomendasikan): biarkan URL tanpa kredensial dan teruskan API_KEY dan SECRET sebagai header kustom (dikonfigurasi pada langkah berikutnya).
- Opsi B: tambahkan kredensial ke URL sebagai parameter kueri, dalam format
ENDPOINT_URL?key=API_KEY&secret=SECRET. Gunakan ini hanya jika klien tidak dapat mengirim header kustom.
- Konfigurasi setelan autentikasi: Datadog memerlukan setidaknya satu header autentikasi untuk menyimpan tujuan. Tambahkan header berikut. Endpoint webhook mengabaikannya, sehingga tidak memengaruhi permintaan.
- Nama header:
Authorization. - Nilai header:
application/json.
- Nama header:
- Klik Simpan.
Link referensi
Tabel pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
additional_field |
additional.fields |
Digabung |
anonymous_label |
additional.fields |
Digabung |
as_domain_label |
additional.fields |
Digabung |
as_name_label |
additional.fields |
Digabung |
as_number_label |
additional.fields |
Digabung |
as_type_label |
additional.fields |
Digabung |
auth_method_label |
additional.fields |
Digabung |
category_label |
additional.fields |
Digabung |
emitted_source_label |
additional.fields |
Digabung |
event_type_label |
additional.fields |
Digabung |
geo_continent_code_label |
additional.fields |
Digabung |
geo_continent_label |
additional.fields |
Digabung |
geo_continent_name_label |
additional.fields |
Digabung |
geo_country_code_label |
additional.fields |
Digabung |
geo_latitude_label |
additional.fields |
Digabung |
geo_longitude_label |
additional.fields |
Digabung |
geo_subdivision_code_label |
additional.fields |
Digabung |
geo_subdivision_name_label |
additional.fields |
Digabung |
geo_timezone_label |
additional.fields |
Digabung |
http_level_label |
additional.fields |
Digabung |
indicator_label |
additional.fields |
Digabung |
indicators_matched_label |
additional.fields |
Digabung |
infrastructure_label |
additional.fields |
Digabung |
intention_label |
additional.fields |
Digabung |
iso_code_label |
additional.fields |
Digabung |
new_template_variable_name_label |
additional.fields |
Digabung |
new_template_variable_preset_name_label |
additional.fields |
Digabung |
new_template_variable_value_label |
additional.fields |
Digabung |
new_widget_definition_background_color_label |
additional.fields |
Digabung |
new_widget_definition_layout_type_label |
additional.fields |
Digabung |
new_widget_definition_show_title_label |
additional.fields |
Digabung |
new_widget_definition_title_label |
additional.fields |
Digabung |
new_widget_definition_type_label |
additional.fields |
Digabung |
new_widget_id_label |
additional.fields |
Digabung |
new_widget_layout_height_label |
additional.fields |
Digabung |
new_widget_layout_width_label |
additional.fields |
Digabung |
new_widget_layout_x_label |
additional.fields |
Digabung |
new_widget_layout_y_label |
additional.fields |
Digabung |
record_attributes_asset_id_label |
additional.fields |
Digabung |
record_attributes_asset_name_label |
additional.fields |
Digabung |
record_attributes_asset_new_value_dashboard_definition_author_handle_label |
additional.fields |
Digabung |
record_attributes_asset_new_value_dashboard_definition_author_name_label |
additional.fields |
Digabung |
record_attributes_asset_new_value_dashboard_definition_description_label |
additional.fields |
Digabung |
record_attributes_asset_new_value_dashboard_definition_id_label |
additional.fields |
Digabung |
record_attributes_asset_new_value_dashboard_definition_reflow_type_label |
additional.fields |
Digabung |
record_attributes_asset_new_value_dashboard_definition_title_label |
additional.fields |
Digabung |
record_attributes_asset_new_value_dashboard_definition_url_label |
additional.fields |
Digabung |
record_attributes_asset_prev_value_dashboard_definition_author_handle_label |
additional.fields |
Digabung |
record_attributes_asset_prev_value_dashboard_definition_author_name_label |
additional.fields |
Digabung |
record_attributes_asset_prev_value_dashboard_definition_description_label |
additional.fields |
Digabung |
record_attributes_asset_prev_value_dashboard_definition_id_label |
additional.fields |
Digabung |
record_attributes_asset_prev_value_dashboard_definition_reflow_type_label |
additional.fields |
Digabung |
record_attributes_asset_prev_value_dashboard_definition_title_label |
additional.fields |
Digabung |
record_attributes_asset_prev_value_dashboard_definition_url_label |
additional.fields |
Digabung |
record_attributes_asset_type_label |
additional.fields |
Digabung |
record_attributes_contextMap_cfRay_label |
additional.fields |
Digabung |
record_attributes_contextMap_tradingAccountId_label |
additional.fields |
Digabung |
record_attributes_evt_name_label |
additional.fields |
Digabung |
record_attributes_network_client_geoip_as_number_label |
additional.fields |
Digabung |
record_attributes_network_client_geoip_as_type_label |
additional.fields |
Digabung |
record_attributes_network_client_geoip_location_latitude_label |
additional.fields |
Digabung |
record_attributes_network_client_geoip_location_longitude_label |
additional.fields |
Digabung |
record_attributes_network_client_geoip_subdivision_iso_code_label |
additional.fields |
Digabung |
record_attributes_network_client_geoip_subdivision_name_label |
additional.fields |
Digabung |
record_attributes_network_client_geoip_timezone_label |
additional.fields |
Digabung |
record_trace_id_label |
additional.fields |
Digabung |
request_id_label |
additional.fields |
Digabung |
risk_label |
additional.fields |
Digabung |
service_label |
additional.fields |
Digabung |
source_name_label |
additional.fields |
Digabung |
source_type_label |
additional.fields |
Digabung |
source_url_label |
additional.fields |
Digabung |
span_id_label |
additional.fields |
Digabung |
symbol_label |
additional.fields |
Digabung |
tag_label |
additional.fields |
Digabung |
template_variable_name_label |
additional.fields |
Digabung |
template_variable_preset_name_label |
additional.fields |
Digabung |
template_variable_value_label |
additional.fields |
Digabung |
timezone_label |
additional.fields |
Digabung |
tunnels_operator_label |
additional.fields |
Digabung |
tunnels_type_label |
additional.fields |
Digabung |
type_label |
additional.fields |
Digabung |
type_label1 |
additional.fields |
Digabung |
url_details_host_label |
additional.fields |
Digabung |
url_details_path_label |
additional.fields |
Digabung |
user_created_timestamp_label |
additional.fields |
Digabung |
widget_definition_background_color_label |
additional.fields |
Digabung |
widget_definition_layout_type_label |
additional.fields |
Digabung |
widget_definition_show_title_label |
additional.fields |
Digabung |
widget_definition_title_label |
additional.fields |
Digabung |
widget_definition_type_label |
additional.fields |
Digabung |
widget_id_label |
additional.fields |
Digabung |
widget_layout_height_label |
additional.fields |
Digabung |
widget_layout_width_label |
additional.fields |
Digabung |
widget_layout_x_label |
additional.fields |
Digabung |
widget_layout_y_label |
additional.fields |
Digabung |
eventMessage |
metadata.description |
Dipetakan secara langsung |
date1 |
metadata.event_timestamp |
Diurai sebagai ISO8601 |
record.date1 |
metadata.event_timestamp |
Diurai sebagai ISO8601 |
event_type |
metadata.event_type |
Dipetakan secara langsung |
has_principal |
metadata.event_type |
Dipetakan: true → NETWORK_CONNECTION, true → STATUS_UPDATE |
has_user |
metadata.event_type |
Dipetakan: true → USER_UNCATEGORIZED |
attributes._trace.origin.operation |
metadata.product_event_type |
Dipetakan secara langsung |
eventType |
metadata.product_event_type |
Dipetakan secara langsung |
record_attributes_contextMap_eventType |
metadata.product_event_type |
Dipetakan secara langsung |
source |
metadata.product_event_type |
Dipetakan secara langsung |
_id |
metadata.product_log_id |
Dipetakan secara langsung |
record_attributes_thread_id |
metadata.product_log_id |
Dipetakan secara langsung |
threadID |
metadata.product_log_id |
Dipetakan secara langsung |
service |
metadata.product_name |
Dipetakan secara langsung |
attributes.@version |
metadata.product_version |
Dipetakan secara langsung |
attributes.http.method |
network.http.method |
Dipetakan secara langsung |
agnt |
network.http.parsed_user_agent |
Dipetakan secara langsung |
record_attributes_contextMap_userAgent |
network.http.parsed_user_agent |
Dipetakan secara langsung |
attributes.http.status_code |
network.http.response_code |
Diganti nama/dipetakan |
agnt |
network.http.user_agent |
Dipetakan secara langsung |
attributes.http.useragent |
network.http.user_agent |
Dipetakan secara langsung |
record_attributes_contextMap_userAgent |
network.http.user_agent |
Dipetakan secara langsung |
attributes.logger_name |
principal.application |
Dipetakan secara langsung |
service |
principal.application |
Dipetakan secara langsung |
attributes._trace.baggage.device_id |
principal.asset.asset_id |
Dipetakan secara langsung |
attributes.metadata.host_metadata.hostname |
principal.asset.hostname |
Dipetakan secara langsung |
attributes.usr.id |
principal.asset.hostname |
Dipetakan secara langsung |
attributes.network.client.geoip.ipAddress |
principal.asset.ip |
Digabung |
attributes.network.client.ip |
principal.asset.ip |
Digabung |
ip1 |
principal.asset.ip |
Digabung |
ipAddress |
principal.asset.ip |
Dipetakan secara langsung |
principal_ip_address |
principal.asset.ip |
Digabung |
record_attributes_network_client_ip |
principal.asset.ip |
Digabung |
org |
principal.group.group_display_name |
Dipetakan secara langsung |
attributes.org.uuid |
principal.group.product_object_id |
Dipetakan secara langsung |
attributes.metadata.host_metadata.hostname |
principal.hostname |
Dipetakan secara langsung |
attributes.usr.id |
principal.hostname |
Dipetakan secara langsung |
host |
principal.hostname |
Dipetakan secara langsung |
record_host |
principal.hostname |
Dipetakan secara langsung |
attributes.network.client.geoip.ipAddress |
principal.ip |
Digabung |
attributes.network.client.ip |
principal.ip |
Digabung |
ip1 |
principal.ip |
Digabung |
ipAddress |
principal.ip |
Dipetakan secara langsung |
principal_ip_address |
principal.ip |
Digabung |
record_attributes_network_client_ip |
principal.ip |
Digabung |
record_attributes_http_url_details_host_label |
principal.labels |
Digabung |
record_attributes_http_url_details_path_label |
principal.labels |
Digabung |
record_attributes_http_useragent_label |
principal.labels |
Digabung |
record_attributes_network_client_geoip_as_domain_label |
principal.labels |
Digabung |
record_attributes_network_client_geoip_as_route_label |
principal.labels |
Digabung |
record_attributes_network_client_geoip_city_name_label |
principal.labels |
Digabung |
record_attributes_network_client_geoip_continent_code_label |
principal.labels |
Digabung |
record_attributes_network_client_geoip_continent_name_label |
principal.labels |
Digabung |
record_attributes_network_client_geoip_country_iso_code_label |
principal.labels |
Digabung |
record_attributes_network_client_geoip_country_name_label |
principal.labels |
Digabung |
record_attributes_usr_id_label |
principal.labels |
Digabung |
attributes.network.client.geoip.city.name |
principal.location.city |
Dipetakan secara langsung |
attributes.network.client.geoip.country.name |
principal.location.country_or_region |
Dipetakan secara langsung |
port |
principal.port |
Diganti nama/dipetakan |
client_as_route_label |
principal.resource.attribute.labels |
Digabung |
client_type_label |
principal.resource.attribute.labels |
Digabung |
org_name_label |
principal.resource.attribute.labels |
Digabung |
record_attributes_usr_uuid_label |
principal.user.attribute.labels |
Digabung |
roles |
principal.user.attribute.roles |
Digabung |
attributes.usr.email |
principal.user.email_addresses |
Digabung |
email_id |
principal.user.email_addresses |
Digabung |
record_attributes_usr_email |
principal.user.email_addresses |
Digabung |
attributes.evt.actor.type |
principal.user.role_name |
Dipetakan secara langsung |
attributes.metadata.user_uuid |
principal.user.userid |
Dipetakan secara langsung |
attributes.usr.uuid |
principal.user.userid |
Dipetakan secara langsung |
record_attributes_contextMap_user |
principal.user.userid |
Dipetakan secara langsung |
user |
principal.user.userid |
Dipetakan secara langsung |
BusArch_label |
security_result.about.resource.attribute.labels |
Digabung |
CANDBVersion_label |
security_result.about.resource.attribute.labels |
Digabung |
alert_label |
security_result.about.resource.attribute.labels |
Digabung |
caller_label |
security_result.about.resource.attribute.labels |
Digabung |
component_label |
security_result.about.resource.attribute.labels |
Digabung |
esn_label |
security_result.about.resource.attribute.labels |
Digabung |
ftcpVersion_label |
security_result.about.resource.attribute.labels |
Digabung |
ingestMessageId_label |
security_result.about.resource.attribute.labels |
Digabung |
label |
security_result.about.resource.attribute.labels |
Digabung |
level_label |
security_result.about.resource.attribute.labels |
Digabung |
msg_label |
security_result.about.resource.attribute.labels |
Digabung |
query_label |
security_result.about.resource.attribute.labels |
Digabung |
redactedVin_label |
security_result.about.resource.attribute.labels |
Digabung |
updated_query_label |
security_result.about.resource.attribute.labels |
Digabung |
vehicleId_label |
security_result.about.resource.attribute.labels |
Digabung |
category1 |
security_result.category_details |
Digabung |
_id_label |
security_result.detection_fields |
Digabung |
action_label |
security_result.detection_fields |
Digabung |
org_uuid_label |
security_result.detection_fields |
Digabung |
record_attributes_http_method_label |
security_result.detection_fields |
Digabung |
record_message_label |
security_result.detection_fields |
Digabung |
record_source_label |
security_result.detection_fields |
Digabung |
record_status_label |
security_result.detection_fields |
Digabung |
status |
security_result.severity |
Dipetakan: "INFO", "DEBUG", "debug", "info" → LOW, (?i)WARN → MEDIUM |
status |
security_result.severity_details |
Dipetakan secara langsung |
context.AlertName |
security_result.threat_name |
Dipetakan secara langsung |
src_ip_address |
src.ip |
Digabung |
record_attributes_contextMap_dd_service |
target.application |
Dipetakan secara langsung |
target_ip_address |
target.asset.ip |
Dipetakan: ^(?:[0-9]{1,3}[.]){3}[0-9]{1,3}$ → target_ip_address |
target_ip_address |
target.ip |
Dipetakan: ^(?:[0-9]{1,3}[.]){3}[0-9]{1,3}$ → target_ip_address |
record_attributes_contextMap_dd_version |
target.platform_version |
Dipetakan secara langsung |
logger_fqcn_label |
target.resource.attribute.labels |
Digabung |
logger_label |
target.resource.attribute.labels |
Digabung |
modified_fields_label |
target.resource.attribute.labels |
Digabung |
asset_name |
target.resource.name |
Dipetakan secara langsung |
asset_id |
target.resource.product_object_id |
Dipetakan secara langsung |
asset_type |
target.resource.type |
Dipetakan secara langsung |
record_attributes_contextMap_dd_env |
target.resource.type |
Dipetakan secara langsung |
record_attributes_contextMap_userId |
target.user.userid |
Dipetakan secara langsung |
record_attributes_user |
target.user.userid |
Dipetakan secara langsung |
| T/A | metadata.event_type |
Konstanta: NETWORK_CONNECTION |
| T/A | network.http.parsed_user_agent |
Konstanta: parseduseragent |
| T/A | security_result.severity |
Konstanta: LOW |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.