Este producto no es compatible con el sitio Datadog seleccionado. ().
Disponible para:
Registros
Descripción general
El procesador Sensitive Data Scanner escanea los registros para detectar y redactar o hashear información sensible, como PII, PCI y datos sensibles personalizados. Puede elegir entre la biblioteca de reglas predefinidas de Datadog o ingresar reglas de expresiones regulares (Regex) personalizadas para buscar datos confidenciales.
Puede configurar el pipeline y el procesador en la UI, API o Terraform.
En la sección Define rule target and conditions, seleccione si desea escanear Entire Event, Specific Attributes o Exclude Attributes en el menú desplegable.
Si está escaneando todo el evento, puede excluir opcionalmente atributos específicos del escaneo. Utilice notación de ruta (outer_key.inner_key) para acceder a claves anidadas. Para los atributos especificados con datos anidados, se excluyen todos los datos anidados.
Si está escaneando atributos específicos, especifique qué atributos desea escanear. Utilice notación de ruta (outer_key.inner_key) para acceder a claves anidadas. Para atributos especificados con datos anidados, se escanean todos los datos anidados.
Para Define actions on match, seleccione la acción que desea realizar para la información coincidente. Nota: La redacción, la redacción parcial y el hashing son acciones irreversibles.
Redact: Reemplaza todos los valores coincidentes con el texto que especifique en el campo Replacement text.
Partially Redact: Reemplaza una porción especificada de todos los datos coincidentes. En la sección Redact, especifique la cantidad de caracteres que desea redactar y qué parte de los datos coincidentes desea redactar.
Hash: Reemplaza todos los datos coincidentes con un identificador único. Los bytes UTF-8 de la coincidencia se hashean con la huella digital de 64 bits de FarmHash.
Opcionalmente, haga clic en Add Field para agregar etiquetas que desee asociar con los eventos coincidentes.
Agregue un nombre para la regla de escaneo.
Opcionalmente, agregue una descripción para la regla.
Haga clic en Save.
Agregue palabras clave adicionales
Después de agregar reglas de escaneo de la biblioteca, puede editar cada regla por separado y agregar palabras clave adicionales al diccionario de palabras clave.
En el procesador Sensitive Data Scanner con la regla que desea editar, haga clic en Manage Scanning Rules.
Active Use recommended keywords si desea que la regla los utilice. De lo contrario, agregue sus propias palabras clave al campo Create keyword dictionary. También puede requerir que estas palabras clave estén dentro de un número especificado de caracteres de una coincidencia. De forma predeterminada, las palabras clave deben estar dentro de los 30 caracteres antes de un valor coincidente.
Haga clic en Update.
En la sección Define match conditions, especifique el patrón regex que se utilizará para buscar coincidencias con eventos en el campo Define the regex. Consulte Writing Effective Grok Parseo Rules with Regular Expressions para obtener más información.
Sensitive Data Scanner admite expresiones regulares compatibles con Perl (PCRE), pero no se admiten los siguientes patrones:
Referencias inversas y subexpresiones de captura (lookarounds)
Aserciones arbitrarias de ancho cero
Referencias de subrutinas y patrones recursivos
Patrones condicionales
Verbos de control de backtracking
La directiva \C “single-byte” (que rompe secuencias UTF-8)
La coincidencia de nueva línea \R
La directiva de reinicio de coincidencia \K
Callouts y código incrustado
Agrupación atómica y cuantificadores posesivos
Ingrese datos de muestra en el campo Add sample data para verificar que su patrón regex sea válido.
Para Create keyword dictionary, agregue palabras clave para refinar la precisión de la detección al hacer coincidir condiciones regex. Por ejemplo, si está escaneando un número de tarjeta de crédito Visa de dieciséis dígitos, puede agregar palabras clave como visa, credit y card. También puede requerir que estas palabras clave estén dentro de un número especificado de caracteres de una coincidencia. De forma predeterminada, las palabras clave deben estar dentro de los 30 caracteres antes de un valor coincidente.
En la sección Define rule target and conditions, seleccione si desea escanear Entire Event, Specific Attributes o Exclude Attributes en el menú desplegable.
Si está escaneando todo el evento, puede excluir opcionalmente atributos específicos del escaneo. Utilice notación de ruta (outer_key.inner_key) para acceder a claves anidadas. Para los atributos especificados con datos anidados, se excluyen todos los datos anidados.
Si está escaneando atributos específicos, especifique qué atributos desea escanear. Utilice notación de ruta (outer_key.inner_key) para acceder a claves anidadas. Para atributos especificados con datos anidados, se escanean todos los datos anidados.
Para Define actions on match, seleccione la acción que desea realizar para la información coincidente. Nota: La redacción, la redacción parcial y el hashing son acciones irreversibles.
Redact: Reemplaza todos los valores coincidentes con el texto que especifique en el campo Replacement text.
Partially Redact: Reemplaza una porción especificada de todos los datos coincidentes. En la sección Redact, especifique la cantidad de caracteres que desea redactar y qué parte de los datos coincidentes desea redactar.
Hash: Reemplaza todos los datos coincidentes con un identificador único. Los bytes UTF-8 de la coincidencia se hashean con la huella digital de 64 bits de FarmHash.
Opcionalmente, haga clic en Add Field para agregar etiquetas que desee asociar con los eventos coincidentes.
Agregue un nombre para la regla de escaneo.
Opcionalmente, agregue una descripción para la regla.
Haga clic en Add Rule.
Eliminar una regla
Para eliminar una regla en el Sensitive Data Scanner:
Use outer_key.inner_key to reference the key with the value inner_value.
Use outer_key.a.double_inner_key to reference the key with the value double_inner_value.
To specify a nested field with a literal . in the attribute key, wrap the key in escaped quotes in the search query. For example, the search query "service.status":disabled matches the event {"service.status": "disabled"}.
Configure el procesador usando Terraform
Puede utilizar el Datadog Observability Pipeline Terraform resource para configurar una pipeline con el procesador Sensitive Data Scanner. Para agregar una regla al procesador Sensitive Data Scanner usando Terraform:
<RULE_IDENTIFIER> con un nombre para usar cuando configure posteriormente el procesador Sensitive Data Scanner en el recurso de Observability Pipelines.
<RULE_NAME> con el nombre exacto de la regla. Consulte Library Rules para ver la lista completa de reglas.
Por ejemplo, si desea utilizar el AWS Access Key ID Scanner, configure la fuente de datos como sigue:
data"datadog_sensitive_data_scanner_standard_pattern""aws_access_key"{filter="AWS Access Key ID Scanner"}
Repita los pasos 1 y 2 para todas las reglas de biblioteca que desee agregar.
Ejemplo de configuración completa
Si desea utilizar el procesador Sensitive Data Scanner para buscar ID de clave de acceso de AWS y números de Seguro Social de EE. UU., y redactarlos reemplazándolos con la cadena ***:
En el procesador Sensitive Data Scanner de su recurso Datadog Observability Pipeline, utilice las reglas de Sensitive Data Scanner definidas en las fuentes de datos.
data"datadog_sensitive_data_scanner_standard_pattern""aws_access_key"{filter="AWS Access Key ID Scanner"}data"datadog_sensitive_data_scanner_standard_pattern""us_ssn"{filter="US Social Security Number Scanner"}resource"datadog_observability_pipeline""sensitive_data_pipeline"{name="Sensitive Data Pipeline"config{source{id="source-0"datadog_agent{}}processor_group{display_name="Processors"enabled=trueid="group-0"include="*"inputs=["source-0"]processor{display_name="Sensitive Data Scanner"enabled=trueid="processor-sds-0"include="*"sensitive_data_scanner{rule{name="Redact AWS Access Key IDs"tags=[]on_match{redact{replace="***"}}pattern{library{id=data.datadog_sensitive_data_scanner_standard_pattern.aws_access_key.iduse_recommended_keywords=true}}scope{all=true}}rule{name="Redact US SSNs"tags=[]on_match{redact{replace="***"}}pattern{library{id=data.datadog_sensitive_data_scanner_standard_pattern.us_ssn.iduse_recommended_keywords=true}}scope{all=true}}}}}destination{id="destination-0"inputs=["group-0"]datadog_logs{}}}}
Mejores prácticas para optimizar el rendimiento
El procesador Sensitive Data Scanner consume muchos recursos de CPU. Utilice las siguientes mejores prácticas para optimizar el rendimiento.
Visualice el uso de las reglas de escaneo con el tablero Observability Pipelines Overview
Observability Pipelines incluye un tablero Observability Pipelines Overview preconfigurado con una sección de Datos confidenciales encontrados por Observability Pipelines. Utilice los widgets de esa sección para ver qué reglas de escaneo están coincidiendo con los datos.
Utilice las variables de plantilla (pipeline_id, host, worker_uuid, component_type, component_kind, component_id) en la parte superior del tablero para definir el contexto de la vista a una canalización o Worker específico.
Utilice el selector de tiempo para definir el contexto a un marco temporal más amplio.
Utilice los siguientes widgets para evaluar el uso de las reglas de escaneo de sus procesadores Sensitive Data Scanner:
Registros que contienen datos confidenciales por regla de escaneo: Enumera cada regla por nombre (por ejemplo, visa_card_scanner_1x16_1x19_digits o redact_ipv4) con la cantidad de coincidencias durante el marco de tiempo seleccionado. Las reglas con recuentos altos están coincidiendo activamente con datos. Este es el widget principal para visualizar qué reglas están en uso.
Recuento total de registros que contienen datos confidenciales: Muestra el volumen total de datos confidenciales que coinciden en todas las reglas.
Registros que contienen datos confidenciales por Pipeline: Muestra los registros coincidentes que contienen datos confidenciales. Puede definir el contexto de las coincidencias por pipeline_id, lo que le ayuda a ver si los registros que contienen datos confidenciales se encuentran en todos los pipelines o solo en pipelines específicos.
Registros que contienen datos confidenciales por servidor: Desglosa las coincidencias de datos confidenciales por servidor de Worker. Utilice este widget para confirmar la cobertura en toda su implementación.
Patrones que contienen información confidencial y Lista de registros que contienen datos confidenciales: Muestra los patrones de registro y los eventos de muestra donde se encontraron datos confidenciales.
Después de identificar las reglas sin coincidencias durante un período de tiempo representativo, confirme que no son necesarias y elimínelas. Consulte Eliminar una regla.
Nota: Una regla con cero coincidencias significa que la regla no coincidió en el período de tiempo seleccionado, no que la regla sea inválida.
Habilite solo las reglas que necesita
Las reglas que están habilitadas pero no se utilizan consumen recursos innecesarios. Verifique el procesador Sensitive Data Scanner para visualizar cuántas coincidencias ha tenido cada regla en las últimas 24 horas.
Escanee solo los eventos y campos que necesitan ser escaneados en busca de datos confidenciales
El tiempo que le toma al Sensitive Data Scanner escanear un evento escala aproximadamente con el tamaño del evento. Para optimizar el rendimiento del procesador:
Si conoce los tipos de eventos que desea escanear, defina una consulta de procesador que solo envíe al procesador los eventos que desea.
Reduzca el tiempo de escaneo seleccionando atributos de evento específicos para escanear o excluyendo atributos de evento del escaneo. Consulte el paso Define rule target and conditions en Configurar el procesador.
Evalúe y compare las optimizaciones de rendimiento
Utilice la métrica pipelines.component_latency_seconds para:
Compare el rendimiento del procesador al agregar una regla
Evalúe el rendimiento después de realizar cambios de optimización, como reducir la cantidad de campos escaneados y eliminar reglas no utilizadas
Para visualizar la métrica pipelines.component_latency_seconds:
En el campo de métrica, ingrese pipelines.component_latency_seconds.
En el campo from, ingrese la etiqueta component_id:<COMPONENT_ID>, donde <COMPONENT_ID> es el ID de su procesador Sensitive Data Scanner.
Nota: pipelines.component_latency_seconds es una métrica de distribución, por lo que debe habilitar los percentiles para esa métrica. Consulte Habilitar la funcionalidad de consulta avanzada para obtener instrucciones.
Utilice la etiqueta component_id para filtrar o agrupar por componentes individuales.
La etiqueta component_type es sensitive_data_scanner para las métricas del procesador Sensitive Data Scanner.
pipelines.sds_rule_matched_total
Descripción: La cantidad de eventos que coincidieron con una regla de Sensitive Data Scanner. Etiquetado con el nombre de la regla correspondiente.
Tipo de métrica: conteo
pipelines.scanned_events
Descripción: La cantidad de eventos escaneados por el motor de Sensitive Data Scanner.
Tipo de métrica: conteo
pipelines.scanning.match_count
Descripción: El número de coincidencias encontradas por el Sensitive Data Scanner.
Tipo de métrica: count
pipelines.scanning.suppressed_match_count
Descripción: El número de coincidencias suprimidas por el Sensitive Data Scanner.
Tipo de métrica: count
pipelines.scanning.duration
Descripción: Tiempo de reloj acumulado, en segundos, dedicado al escaneo de eventos. Utilice esta métrica para comparar el rendimiento del procesador y evaluar las optimizaciones.
Tipo de métrica: count
pipelines.scanning.cpu_duration
Descripción: Tiempo de CPU acumulado, en segundos, dedicado al escaneo de eventos.
Tipo de métrica: count
pipelines.scanner.total_count
Descripción: El número de procesadores de Sensitive Data Scanner que se están ejecutando actualmente.
Tipo de métrica: gauge
pipelines.scanner.total_regexes
Descripción: El número de expresiones regulares almacenadas en todos los Sensitive Data Scanner.
Tipo de métrica: gauge
Lecturas adicionales
Documentación, enlaces y artículos útiles adicionales: