Raccogliere i log di Datadog
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
- Accedi alla console Google Cloud .
Vai alla pagina Bucket Cloud Storage.
Fai clic su Crea.
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:
Nella sezione Inizia, segui questi passaggi:
- Inserisci un nome univoco che soddisfi i requisiti per i nomi dei bucket (ad esempio,
datadog-data). 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.
Per aggiungere un'etichetta del bucket, fai clic sulla freccia di espansione per espandere la sezione Etichette.
Fai clic su Aggiungi etichetta e specifica una chiave e un valore per l'etichetta.
- Inserisci un nome univoco che soddisfi i requisiti per i nomi dei bucket (ad esempio,
Nella sezione Scegli dove archiviare i tuoi dati, segui questi passaggi:
- Seleziona un Tipo di località.
- 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.
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.
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.
Nella sezione Scegli come proteggere i dati degli oggetti, segui questi passaggi:
- Seleziona una delle opzioni in Protezione dei dati che vuoi impostare per il bucket.
- 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.
Fai clic su Crea.
Crea un Google Cloud service account
- Vai a IAM e amministrazione > Service account.
- Crea un nuovo account di servizio.
- Assegna un nome descrittivo (ad esempio,
datadog-user). - Concedi al account di servizio il ruolo Amministratore oggetti Storage sul bucket Cloud Storage che hai creato nel passaggio precedente.
- Crea una chiave per il account di servizio e seleziona JSON come tipo di chiave.
- 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
- Accedi a Datadog utilizzando un account con privilegi.
- Vai a Log > Inoltro log.
- Fai clic su + Crea nuovo archivio.
- Seleziona Google Cloud Storage.
- Inserisci i parametri richiesti e fai clic su Salva.
Configura un feed in Google SecOps per importare i log dal bucket Cloud Storage
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed.
- Nella pagina successiva, fai clic su Configura un singolo feed.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio,
Datadog Logs GCS). - Seleziona Google Cloud Storage V2 come Tipo di origine.
- Seleziona Datadog come Tipo di log.
- Fai clic su Ottieni service account per ottenere il account di servizio univoco per questo feed.
- Concedi a questo account di servizio il ruolo Visualizzatore oggetti Storage sul bucket Cloud Storage creato in precedenza.
- Fai clic su Avanti.
- 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.
- URI bucket di archiviazione: l'URI del bucket Cloud Storage nel formato
- Fai clic su Avanti.
- 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:
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed.
- Nella pagina successiva, fai clic su Configura un singolo feed.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio,
Datadog Logs). - Seleziona Webhook come Tipo di origine.
- Seleziona Datadog come Tipo di log.
- Fai clic su Avanti.
- (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.
- Delimitatore di suddivisione: il delimitatore utilizzato per separare le righe di log, ad esempio
- Fai clic su Avanti.
- Rivedi la configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
- Fai clic su Genera chiave segreta per generare una chiave segreta per autenticare questo feed.
- 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.
- 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.
- Fai clic su Fine.
Creare una chiave API per il feed webhook
- Vai alla consoleGoogle Cloud > Credenziali: vai a Credenziali.
- Fai clic su Crea credenziali e poi seleziona Chiave API.
- Limita l'accesso della chiave API all'API Chronicle.
Specifica l'URL dell'endpoint
- Nella tua applicazione client, specifica l'URL dell'endpoint HTTPS fornito nel feed webhook.
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 = SECRETConsiglio: specifica la chiave API come intestazione anziché nell'URL.
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=SECRETSostituisci 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
- Accedi a Datadog utilizzando un account con privilegi.
- Vai a Log > Inoltro log.
- Seleziona Destinazioni personalizzate.
- Fai clic su + Crea una nuova destinazione.
- 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.
- Nome intestazione:
- Fai clic su Salva.
Link di riferimento
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: true → NETWORK_CONNECTION, true → STATUS_UPDATE |
has_user |
metadata.event_type |
Mappato: true → USER_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)WARN → MEDIUM |
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.