Raccogliere i log di Datadog

Supportato in:

Questo documento spiega come importare i log di Datadog in Google Security Operations. Datadog è una piattaforma di monitoraggio e analisi basata sul cloud che raccoglie metriche, tracce e log da applicazioni, infrastruttura e servizi cloud. Puoi condividere i log di Datadog con Google SecOps utilizzando Cloud Storage o un webhook.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Accesso utente con privilegi a Datadog
  • Accesso alla Google Cloud console (per la creazione di chiavi API o la configurazione di Cloud Storage)

Opzione 1: condivisione dei log Datadog tramite la configurazione di Cloud Storage

Configura l'integrazione di Datadog con Google Cloud

Configura un'integrazione per Google Cloudin Datadog. Per saperne di più, consulta la configurazione dell'integrazione di Datadog Google Cloud .

Crea un bucket Cloud Storage

  1. Accedi alla console Google Cloud .
  2. Vai alla pagina Bucket Cloud Storage.

    Vai a Bucket

  3. Fai clic su Crea.

  4. Nella pagina Crea un bucket, inserisci le informazioni del bucket. Dopo ogni passaggio riportato di seguito, fai clic su Continua per passare al passaggio successivo:

    1. Nella sezione Inizia, segui questi passaggi:

      1. Inserisci un nome univoco che soddisfi i requisiti per i nomi dei bucket (ad esempio, datadog-data).
      2. Per attivare lo spazio dei nomi gerarchico, fai clic sulla freccia di espansione per espandere la sezione Ottimizza per workload orientati ai file e con uso intensivo dei dati, poi seleziona Abilita spazio dei nomi gerarchico in questo bucket.

      3. Per aggiungere un'etichetta del bucket, fai clic sulla freccia di espansione per espandere la sezione Etichette.

      4. Fai clic su Aggiungi etichetta e specifica una chiave e un valore per l'etichetta.

    2. Nella sezione Scegli dove archiviare i tuoi dati, segui questi passaggi:

      1. Seleziona un Tipo di località.
      2. Utilizza il menu a discesa del tipo di località per selezionare una località in cui i dati degli oggetti all'interno del bucket verranno archiviati in modo permanente.
    3. Nella sezione Scegli una classe di archiviazione per i tuoi dati, seleziona una classe di archiviazione predefinita per il bucket oppure Autoclass per la gestione automatica della classe di archiviazione dei dati del bucket.

    4. Nella sezione Scegli come controllare l'accesso agli oggetti, seleziona No per applicare la prevenzione dell'accesso pubblico e seleziona un modello di controllo dell'accesso per gli oggetti del bucket.

    5. Nella sezione Scegli come proteggere i dati degli oggetti, segui questi passaggi:

      1. Seleziona una delle opzioni in Protezione dei dati che vuoi impostare per il bucket.
      2. Per scegliere come criptare i dati degli oggetti, fai clic sulla freccia di espansione con l'etichetta Crittografia dei dati e seleziona un metodo di crittografia dei dati.
  5. Fai clic su Crea.

Crea un Google Cloud service account

  1. Vai a IAM e amministrazione > Service account.
  2. Crea un nuovo account di servizio.
  3. Assegna un nome descrittivo (ad esempio, datadog-user).
  4. Concedi al account di servizio il ruolo Amministratore oggetti Storage sul bucket Cloud Storage che hai creato nel passaggio precedente.
  5. Crea una chiave per il account di servizio e seleziona JSON come tipo di chiave.
  6. Scarica il file della chiave JSON per il account di servizio. Mantieni questo file al sicuro.

Configura Datadog per inviare i log a Cloud Storage

  1. Accedi a Datadog utilizzando un account con privilegi.
  2. Vai a Log > Inoltro log.
  3. Fai clic su + Crea nuovo archivio.
  4. Seleziona Google Cloud Storage.
  5. Inserisci i parametri richiesti e fai clic su Salva.

Configura un feed in Google SecOps per importare i log dal bucket Cloud Storage

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo feed.
  3. Nella pagina successiva, fai clic su Configura un singolo feed.
  4. Nel campo Nome feed, inserisci un nome per il feed (ad esempio, Datadog Logs GCS).
  5. Seleziona Google Cloud Storage V2 come Tipo di origine.
  6. Seleziona Datadog come Tipo di log.
  7. Fai clic su Ottieni service account per ottenere il account di servizio univoco per questo feed.
  8. Concedi a questo account di servizio il ruolo Visualizzatore oggetti Storage sul bucket Cloud Storage creato in precedenza.
  9. Fai clic su Avanti.
  10. Specifica i valori per i seguenti parametri di input:
    • URI bucket di archiviazione: l'URI del bucket Cloud Storage nel formato gs://datadog-data.
    • Opzione di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.
    • Età massima del file: includi i file modificati nell'ultimo numero di giorni. Il valore predefinito è 180 giorni.
    • Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.
    • Etichette di importazione: l'etichetta applicata agli eventi di questo feed.
  11. Fai clic su Avanti.
  12. Rivedi la configurazione del feed nella schermata Finalizza e poi fai clic su Invia.

Opzione 2: condivisione dei log Datadog tramite la configurazione del webhook

Configura i feed

Per configurare un feed:

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo feed.
  3. Nella pagina successiva, fai clic su Configura un singolo feed.
  4. Nel campo Nome feed, inserisci un nome per il feed (ad esempio, Datadog Logs).
  5. Seleziona Webhook come Tipo di origine.
  6. Seleziona Datadog come Tipo di log.
  7. Fai clic su Avanti.
  8. (Facoltativo) Specifica i valori per i seguenti parametri di input:
    • Delimitatore di suddivisione: il delimitatore utilizzato per separare le righe di log, ad esempio \n.
  9. Fai clic su Avanti.
  10. Rivedi la configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
  11. Fai clic su Genera chiave segreta per generare una chiave segreta per autenticare questo feed.
  12. Copia e memorizza la chiave segreta. Non puoi visualizzare di nuovo questa chiave segreta. Se necessario, puoi rigenerare una nuova chiave segreta, ma questa azione rende obsoleta la chiave segreta precedente.
  13. Nella scheda Dettagli, copia l'URL dell'endpoint del feed dal campo Informazioni sull'endpoint. Devi specificare questo URL dell'endpoint nella tua applicazione client.
  14. Fai clic su Fine.

Creare una chiave API per il feed webhook

  1. Vai alla consoleGoogle Cloud > Credenziali: vai a Credenziali.
  2. Fai clic su Crea credenziali e poi seleziona Chiave API.
  3. Limita l'accesso della chiave API all'API Chronicle.

Specifica l'URL dell'endpoint

  1. Nella tua applicazione client, specifica l'URL dell'endpoint HTTPS fornito nel feed webhook.
  2. Attiva l'autenticazione specificando la chiave API e la chiave segreta come parte dell'intestazione personalizzata nel seguente formato:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    Consiglio: specifica la chiave API come intestazione anziché nell'URL.

  3. Se il client webhook non supporta le intestazioni personalizzate, puoi specificare la chiave API e la chiave segreta utilizzando parametri di ricerca nel seguente formato:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    Sostituisci quanto segue:

    • ENDPOINT_URL: l'URL dell'endpoint del feed.
    • API_KEY: la chiave API per l'autenticazione a Google Security Operations.
    • SECRET: la chiave segreta che hai generato per autenticare il feed.

Configura Datadog per inviare i log al webhook

  1. Accedi a Datadog utilizzando un account con privilegi.
  2. Vai a Log > Inoltro log.
  3. Seleziona Destinazioni personalizzate.
  4. Fai clic su + Crea una nuova destinazione.
  5. Specifica i valori per i seguenti parametri di input:
    • Scegli un tipo di destinazione: seleziona HTTP.
    • Assegna un nome alla destinazione: fornisci un nome descrittivo per il webhook (ad esempio, Google SecOps Webhook).
    • Configura la destinazione: incolla l'ENDPOINT_URL del feed. Scegli una delle seguenti opzioni di autenticazione (non entrambe):
      • Opzione A (consigliata): lascia l'URL senza credenziali e passa API_KEY e SECRET come intestazioni personalizzate (configurate nel passaggio successivo).
      • Opzione B: aggiungi le credenziali all'URL come parametri di ricerca, nel formato ENDPOINT_URL?key=API_KEY&secret=SECRET. Utilizza questa opzione solo se il client non può inviare intestazioni personalizzate.
    • Configura le impostazioni di autenticazione: Datadog richiede almeno un'intestazione di autenticazione per salvare la destinazione. Aggiungi la seguente intestazione. L'endpoint webhook lo ignora, quindi non influisce sulla richiesta.
      • Nome intestazione: Authorization.
      • Valore intestazione: application/json.
  6. Fai clic su Salva.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
additional_field additional.fields Unita
anonymous_label additional.fields Unita
as_domain_label additional.fields Unita
as_name_label additional.fields Unita
as_number_label additional.fields Unita
as_type_label additional.fields Unita
auth_method_label additional.fields Unita
category_label additional.fields Unita
emitted_source_label additional.fields Unita
event_type_label additional.fields Unita
geo_continent_code_label additional.fields Unita
geo_continent_label additional.fields Unita
geo_continent_name_label additional.fields Unita
geo_country_code_label additional.fields Unita
geo_latitude_label additional.fields Unita
geo_longitude_label additional.fields Unita
geo_subdivision_code_label additional.fields Unita
geo_subdivision_name_label additional.fields Unita
geo_timezone_label additional.fields Unita
http_level_label additional.fields Unita
indicator_label additional.fields Unita
indicators_matched_label additional.fields Unita
infrastructure_label additional.fields Unita
intention_label additional.fields Unita
iso_code_label additional.fields Unita
new_template_variable_name_label additional.fields Unita
new_template_variable_preset_name_label additional.fields Unita
new_template_variable_value_label additional.fields Unita
new_widget_definition_background_color_label additional.fields Unita
new_widget_definition_layout_type_label additional.fields Unita
new_widget_definition_show_title_label additional.fields Unita
new_widget_definition_title_label additional.fields Unita
new_widget_definition_type_label additional.fields Unita
new_widget_id_label additional.fields Unita
new_widget_layout_height_label additional.fields Unita
new_widget_layout_width_label additional.fields Unita
new_widget_layout_x_label additional.fields Unita
new_widget_layout_y_label additional.fields Unita
record_attributes_asset_id_label additional.fields Unita
record_attributes_asset_name_label additional.fields Unita
record_attributes_asset_new_value_dashboard_definition_author_handle_label additional.fields Unita
record_attributes_asset_new_value_dashboard_definition_author_name_label additional.fields Unita
record_attributes_asset_new_value_dashboard_definition_description_label additional.fields Unita
record_attributes_asset_new_value_dashboard_definition_id_label additional.fields Unita
record_attributes_asset_new_value_dashboard_definition_reflow_type_label additional.fields Unita
record_attributes_asset_new_value_dashboard_definition_title_label additional.fields Unita
record_attributes_asset_new_value_dashboard_definition_url_label additional.fields Unita
record_attributes_asset_prev_value_dashboard_definition_author_handle_label additional.fields Unita
record_attributes_asset_prev_value_dashboard_definition_author_name_label additional.fields Unita
record_attributes_asset_prev_value_dashboard_definition_description_label additional.fields Unita
record_attributes_asset_prev_value_dashboard_definition_id_label additional.fields Unita
record_attributes_asset_prev_value_dashboard_definition_reflow_type_label additional.fields Unita
record_attributes_asset_prev_value_dashboard_definition_title_label additional.fields Unita
record_attributes_asset_prev_value_dashboard_definition_url_label additional.fields Unita
record_attributes_asset_type_label additional.fields Unita
record_attributes_contextMap_cfRay_label additional.fields Unita
record_attributes_contextMap_tradingAccountId_label additional.fields Unita
record_attributes_evt_name_label additional.fields Unita
record_attributes_network_client_geoip_as_number_label additional.fields Unita
record_attributes_network_client_geoip_as_type_label additional.fields Unita
record_attributes_network_client_geoip_location_latitude_label additional.fields Unita
record_attributes_network_client_geoip_location_longitude_label additional.fields Unita
record_attributes_network_client_geoip_subdivision_iso_code_label additional.fields Unita
record_attributes_network_client_geoip_subdivision_name_label additional.fields Unita
record_attributes_network_client_geoip_timezone_label additional.fields Unita
record_trace_id_label additional.fields Unita
request_id_label additional.fields Unita
risk_label additional.fields Unita
service_label additional.fields Unita
source_name_label additional.fields Unita
source_type_label additional.fields Unita
source_url_label additional.fields Unita
span_id_label additional.fields Unita
symbol_label additional.fields Unita
tag_label additional.fields Unita
template_variable_name_label additional.fields Unita
template_variable_preset_name_label additional.fields Unita
template_variable_value_label additional.fields Unita
timezone_label additional.fields Unita
tunnels_operator_label additional.fields Unita
tunnels_type_label additional.fields Unita
type_label additional.fields Unita
type_label1 additional.fields Unita
url_details_host_label additional.fields Unita
url_details_path_label additional.fields Unita
user_created_timestamp_label additional.fields Unita
widget_definition_background_color_label additional.fields Unita
widget_definition_layout_type_label additional.fields Unita
widget_definition_show_title_label additional.fields Unita
widget_definition_title_label additional.fields Unita
widget_definition_type_label additional.fields Unita
widget_id_label additional.fields Unita
widget_layout_height_label additional.fields Unita
widget_layout_width_label additional.fields Unita
widget_layout_x_label additional.fields Unita
widget_layout_y_label additional.fields Unita
eventMessage metadata.description Mappato direttamente
date1 metadata.event_timestamp Analizzato come ISO8601
record.date1 metadata.event_timestamp Analizzato come ISO8601
event_type metadata.event_type Mappato direttamente
has_principal metadata.event_type Mappato: trueNETWORK_CONNECTION, trueSTATUS_UPDATE
has_user metadata.event_type Mappato: trueUSER_UNCATEGORIZED
attributes._trace.origin.operation metadata.product_event_type Mappato direttamente
eventType metadata.product_event_type Mappato direttamente
record_attributes_contextMap_eventType metadata.product_event_type Mappato direttamente
source metadata.product_event_type Mappato direttamente
_id metadata.product_log_id Mappato direttamente
record_attributes_thread_id metadata.product_log_id Mappato direttamente
threadID metadata.product_log_id Mappato direttamente
service metadata.product_name Mappato direttamente
attributes.@version metadata.product_version Mappato direttamente
attributes.http.method network.http.method Mappato direttamente
agnt network.http.parsed_user_agent Mappato direttamente
record_attributes_contextMap_userAgent network.http.parsed_user_agent Mappato direttamente
attributes.http.status_code network.http.response_code Rinominate/mappate
agnt network.http.user_agent Mappato direttamente
attributes.http.useragent network.http.user_agent Mappato direttamente
record_attributes_contextMap_userAgent network.http.user_agent Mappato direttamente
attributes.logger_name principal.application Mappato direttamente
service principal.application Mappato direttamente
attributes._trace.baggage.device_id principal.asset.asset_id Mappato direttamente
attributes.metadata.host_metadata.hostname principal.asset.hostname Mappato direttamente
attributes.usr.id principal.asset.hostname Mappato direttamente
attributes.network.client.geoip.ipAddress principal.asset.ip Unita
attributes.network.client.ip principal.asset.ip Unita
ip1 principal.asset.ip Unita
ipAddress principal.asset.ip Mappato direttamente
principal_ip_address principal.asset.ip Unita
record_attributes_network_client_ip principal.asset.ip Unita
org principal.group.group_display_name Mappato direttamente
attributes.org.uuid principal.group.product_object_id Mappato direttamente
attributes.metadata.host_metadata.hostname principal.hostname Mappato direttamente
attributes.usr.id principal.hostname Mappato direttamente
host principal.hostname Mappato direttamente
record_host principal.hostname Mappato direttamente
attributes.network.client.geoip.ipAddress principal.ip Unita
attributes.network.client.ip principal.ip Unita
ip1 principal.ip Unita
ipAddress principal.ip Mappato direttamente
principal_ip_address principal.ip Unita
record_attributes_network_client_ip principal.ip Unita
record_attributes_http_url_details_host_label principal.labels Unita
record_attributes_http_url_details_path_label principal.labels Unita
record_attributes_http_useragent_label principal.labels Unita
record_attributes_network_client_geoip_as_domain_label principal.labels Unita
record_attributes_network_client_geoip_as_route_label principal.labels Unita
record_attributes_network_client_geoip_city_name_label principal.labels Unita
record_attributes_network_client_geoip_continent_code_label principal.labels Unita
record_attributes_network_client_geoip_continent_name_label principal.labels Unita
record_attributes_network_client_geoip_country_iso_code_label principal.labels Unita
record_attributes_network_client_geoip_country_name_label principal.labels Unita
record_attributes_usr_id_label principal.labels Unita
attributes.network.client.geoip.city.name principal.location.city Mappato direttamente
attributes.network.client.geoip.country.name principal.location.country_or_region Mappato direttamente
port principal.port Rinominate/mappate
client_as_route_label principal.resource.attribute.labels Unita
client_type_label principal.resource.attribute.labels Unita
org_name_label principal.resource.attribute.labels Unita
record_attributes_usr_uuid_label principal.user.attribute.labels Unita
roles principal.user.attribute.roles Unita
attributes.usr.email principal.user.email_addresses Unita
email_id principal.user.email_addresses Unita
record_attributes_usr_email principal.user.email_addresses Unita
attributes.evt.actor.type principal.user.role_name Mappato direttamente
attributes.metadata.user_uuid principal.user.userid Mappato direttamente
attributes.usr.uuid principal.user.userid Mappato direttamente
record_attributes_contextMap_user principal.user.userid Mappato direttamente
user principal.user.userid Mappato direttamente
BusArch_label security_result.about.resource.attribute.labels Unita
CANDBVersion_label security_result.about.resource.attribute.labels Unita
alert_label security_result.about.resource.attribute.labels Unita
caller_label security_result.about.resource.attribute.labels Unita
component_label security_result.about.resource.attribute.labels Unita
esn_label security_result.about.resource.attribute.labels Unita
ftcpVersion_label security_result.about.resource.attribute.labels Unita
ingestMessageId_label security_result.about.resource.attribute.labels Unita
label security_result.about.resource.attribute.labels Unita
level_label security_result.about.resource.attribute.labels Unita
msg_label security_result.about.resource.attribute.labels Unita
query_label security_result.about.resource.attribute.labels Unita
redactedVin_label security_result.about.resource.attribute.labels Unita
updated_query_label security_result.about.resource.attribute.labels Unita
vehicleId_label security_result.about.resource.attribute.labels Unita
category1 security_result.category_details Unita
_id_label security_result.detection_fields Unita
action_label security_result.detection_fields Unita
org_uuid_label security_result.detection_fields Unita
record_attributes_http_method_label security_result.detection_fields Unita
record_message_label security_result.detection_fields Unita
record_source_label security_result.detection_fields Unita
record_status_label security_result.detection_fields Unita
status security_result.severity Mappato: "INFO", "DEBUG", "debug", "info"LOW, (?i)WARNMEDIUM
status security_result.severity_details Mappato direttamente
context.AlertName security_result.threat_name Mappato direttamente
src_ip_address src.ip Unita
record_attributes_contextMap_dd_service target.application Mappato direttamente
target_ip_address target.asset.ip Mappato: ^(?:[0-9]{1,3}[.]){3}[0-9]{1,3}$target_ip_address
target_ip_address target.ip Mappato: ^(?:[0-9]{1,3}[.]){3}[0-9]{1,3}$target_ip_address
record_attributes_contextMap_dd_version target.platform_version Mappato direttamente
logger_fqcn_label target.resource.attribute.labels Unita
logger_label target.resource.attribute.labels Unita
modified_fields_label target.resource.attribute.labels Unita
asset_name target.resource.name Mappato direttamente
asset_id target.resource.product_object_id Mappato direttamente
asset_type target.resource.type Mappato direttamente
record_attributes_contextMap_dd_env target.resource.type Mappato direttamente
record_attributes_contextMap_userId target.user.userid Mappato direttamente
record_attributes_user target.user.userid Mappato direttamente
N/D metadata.event_type Costante: NETWORK_CONNECTION
N/D network.http.parsed_user_agent Costante: parseduseragent
N/D security_result.severity Costante: LOW

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.