Mengumpulkan log Datadog

Didukung di:

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

  1. Login ke konsol Google Cloud .
  2. Buka halaman Cloud Storage Buckets.

    Buka Bucket

  3. Klik Buat.

  4. Di halaman Buat bucket, masukkan informasi bucket Anda. Setelah setiap langkah berikut, klik Lanjutkan untuk melanjutkan ke langkah berikutnya:

    1. Di bagian Mulai, lakukan tindakan berikut:

      1. Masukkan nama unik yang memenuhi persyaratan nama bucket (misalnya, datadog-data).
      2. 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.

      3. Untuk menambahkan label bucket, klik panah peluas untuk meluaskan bagian Label.

      4. Klik Tambahkan label, lalu tentukan kunci dan nilai untuk label Anda.

    2. Di bagian Pilih tempat untuk menyimpan data Anda, lakukan tindakan berikut:

      1. Pilih Jenis lokasi.
      2. Gunakan drop-down jenis lokasi untuk memilih Lokasi tempat data objek dalam bucket Anda akan disimpan secara permanen.
    3. 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.

    4. Di bagian Pilih cara mengontrol akses ke objek, pilih tidak untuk menerapkan pencegahan akses publik, dan pilih model kontrol akses untuk objek bucket Anda.

    5. Di bagian Pilih cara melindungi data objek, lakukan hal berikut:

      1. Pilih salah satu opsi di bagian Perlindungan data yang ingin Anda tetapkan untuk bucket.
      2. Untuk memilih cara mengenkripsi data objek Anda, klik panah peluas berlabel Enkripsi data, lalu pilih Metode enkripsi data.
  5. Klik Create.

Buat Google Cloud Akun Layanan

  1. Buka IAM & Admin > Service Accounts.
  2. Buat akun layanan baru.
  3. Beri nama deskriptif (misalnya, datadog-user).
  4. Beri akun layanan peran Storage Object Admin di bucket Cloud Storage yang Anda buat pada langkah sebelumnya.
  5. Buat kunci untuk akun layanan dan pilih JSON sebagai jenis kunci.
  6. Download file kunci JSON untuk akun layanan. Jaga keamanan file ini.

Mengonfigurasi Datadog untuk mengirim log ke Cloud Storage

  1. Login ke Datadog menggunakan akun yang memiliki hak istimewa.
  2. Buka Log > Penerusan Log.
  3. Klik + Buat Arsip Baru.
  4. Pilih Google Cloud Storage.
  5. Masukkan parameter yang diperlukan, lalu klik Simpan.

Mengonfigurasi feed di Google SecOps untuk menyerap log dari bucket Cloud Storage

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan Feed Baru.
  3. Di halaman berikutnya, klik Konfigurasi satu feed.
  4. Di kolom Nama feed, masukkan nama untuk feed (misalnya, Datadog Logs GCS).
  5. Pilih Google Cloud Storage V2 sebagai Source type.
  6. Pilih Datadog sebagai Jenis log.
  7. Klik Dapatkan Akun Layanan untuk mendapatkan akun layanan unik untuk feed ini.
  8. Beri akun layanan ini peran Storage Object Viewer di bucket Cloud Storage yang dibuat sebelumnya.
  9. Klik Berikutnya.
  10. 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.
  11. Klik Berikutnya.
  12. 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:

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan Feed Baru.
  3. Di halaman berikutnya, klik Konfigurasi satu feed.
  4. Di kolom Nama feed, masukkan nama untuk feed (misalnya, Datadog Logs).
  5. Pilih Webhook sebagai Jenis sumber.
  6. Pilih Datadog sebagai Jenis log.
  7. Klik Berikutnya.
  8. Opsional: Tentukan nilai untuk parameter input berikut:
    • Pembatas pemisahan: pembatas yang digunakan untuk memisahkan baris log, seperti \n.
  9. Klik Berikutnya.
  10. Tinjau konfigurasi feed di layar Selesaikan, lalu klik Kirim.
  11. Klik Buat Kunci Rahasia untuk membuat kunci rahasia guna mengautentikasi feed ini.
  12. 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.
  13. Dari tab Detail, salin URL endpoint feed dari kolom Informasi Endpoint. Anda perlu menentukan URL endpoint ini di aplikasi klien Anda.
  14. Klik Done.

Membuat kunci API untuk feed webhook

  1. Buka konsolGoogle Cloud > Kredensial: Buka Kredensial.
  2. Klik Create credentials, lalu pilih API key.
  3. Membatasi akses kunci API ke Chronicle API.

Tentukan URL endpoint

  1. Di aplikasi klien Anda, tentukan URL endpoint HTTPS yang diberikan di feed webhook.
  2. 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 = SECRET
    

    Rekomendasi: Tentukan kunci API sebagai header, bukan menentukannya di URL.

  3. 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=SECRET
    

    Ganti 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

  1. Login ke Datadog menggunakan akun yang memiliki hak istimewa.
  2. Buka Log > Penerusan Log.
  3. Pilih Tujuan Kustom.
  4. Klik + Buat Tujuan Baru.
  5. 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.
  6. Klik Simpan.

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: trueNETWORK_CONNECTION, trueSTATUS_UPDATE
has_user metadata.event_type Dipetakan: trueUSER_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)WARNMEDIUM
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.