Los datos confidenciales, como números de tarjetas de crédito, números de cuenta bancaria y claves de API, a menudo quedan expuestos involuntariamente en los logs de las aplicaciones, en los tramos (spans) de APM y en los eventos RUM, lo cual puede exponer a tu organización a riesgos financieros y de privacidad.
Sensitive Data Scanner es un servicio de búsqueda de patrones basada en flujos, que se utiliza para identificar, etiquetar y, opcionalmente, redactar o extraer datos confidenciales. Los equipos de seguridad y cumplimiento pueden implementar Sensitive Data Scanner como una nueva línea de defensa, ayudando a prevenir las fugas de datos confidenciales y limitando los riesgos de incumplimiento.
Para utilizar Sensitive Data Scanner, configura un grupo de escaneo para definir qué datos escanear y, a continuación, configura reglas de escaneo para determinar qué información confidencial debe coincidir con los datos.
Este documento te guiará a través de los siguientes pasos:
- Establecer los permisos necesarios para ver y configurar Sensitive Data Scanner.
- Configurar el escaneo de datos confidenciales.
- Utilizar el dashboard predefinido.
Nota: Consulta Cumplimiento de PCI DSS para obtener información sobre la creación de una organización de Datadog que cumpla con PCI.
Configurar Sensitive Data Scanner
Hay dos localizaciones en las que puedes redactar tus datos confidenciales:
En la nube:
- Con Sensitive Data Scanner en la nube, envías tus logs en el backend de Datadog. Con este método, los logs salen de tus instalaciones antes de ser redactados. Puedes tener varios grupos de escaneo por organización y crear reglas de escaneo personalizadas. También puedes redactar datos confidenciales en etiquetas (tags).
En tu entorno:
Join the Preview!
La compatibilidad de Sensitive Data Scanner con el Datadog Agent está en fase de vista previa. Para inscribirte, haz clic en Request Access (Solicitar acceso).
Request Access- Con Sensitive Data Scanner que usa el Agent, Datadog redacta tus logs antes de enviarlos al backend de Datadog, y los logs no redactados nunca tienen que salir de tus instalaciones. Con este método, está limitado a un grupo de escaneo por organización y solo puede utilizar reglas de biblioteca predefinidas.
Con pipelines de observabilidad:
Cuando configuras un pipeline en pipelines de observabilidad, añade el procesador Sensitive Data Scanner para redactar datos confidenciales en tus logs antes de que salgan de tu entorno. Consulta Pipelines de observabilidad para obtener más información.
Requisitos previos
Por defecto, los usuarios con el rol de Admin (administrador) de Datadog tienen acceso para ver y configurar reglas de escaneo. Para permitir el acceso a otros usuarios, concede los permisos data_scanner_read
o data_scanner_write
en Cumplimiento a un rol personalizado. Consulta Control de acceso para obtener más información sobre cómo configurar funciones y permisos.
Concede los permisos adecuados. Por defecto, los usuarios con el rol de Admin (administrador) de Datadog tienen acceso para ver y configurar reglas de escaneo. Para permitir el acceso a otros usuarios, concede los permisos data_scanner_read
o data_scanner_write
en Cumplimiento a un rol personalizado. Consulta Control de acceso para obtener más información sobre cómo configurar funciones y permisos.
Sigue los pasos para activar la configuración remota.
Instala la versión 7.54, o una más reciente, del Datadog Agent.
Añadir un grupo de escaneo
Un grupo de escaneo determina qué datos se deben escanear. Consta de un filtro de consulta y un conjunto de opciones para habilitar el escaneo de logs, APM, RUM y eventos. Consulta la documentación de Sintaxis de búsqueda de logs para obtener más información sobre los filtros de consulta.
Para Terraform, consulta el recurso grupo de Datadog Sensitive Data Scanner.
Para configurar un grupo de escaneo, realiza los siguientes pasos:
- Ve a la página de configuración Sensitive Data Scanner.
- Haz clic en Add scanning group (Añadir grupo de escaneo). Como alternativa, haz clic en el menú desplegable Add (Añadir) situado en la esquina superior derecha de la página y selecciona Add Scanning Group (Añadir grupo de escaneo).
- Introduce un filtro de consulta para los datos que deseas escanear. En la parte superior, haz clic en APM Spans (Tramos de APM) para obtener una vista previa de los tramos (spans) filtrados. Haz clic en Logs para ver los logs filtrados.
- Introduce un nombre y una descripción para el grupo.
- Haz clic en los botones de conmutador para activar el Sensitive Data Scanner para los productos que desees (por ejemplo, logs, tramos de APM, eventos RUM y eventos de Datadog).
- Haz clic en Create (Crear).
Nota: Sensitive Data Scanner que utiliza el Agent solo admite un grupo de escaneo por organización.
Un grupo de escaneo determina qué logs escanear. Consiste en un filtro de consulta para coincidir agentes elegibles basados en etiquetas de host.
Para configurar un grupo de escaneo, realiza los siguientes pasos:
- Ve a la página de configuración de Sensitive Data Scanner que utiliza el Agent.
- Haz clic en Add scanning group (Añadir grupo de escaneo). Como alternativa, haz clic en el menú desplegable Add (Añadir) situado en la esquina superior derecha de la página y selecciona Add Scanning Group (Añadir grupo de escaneo).
- Introduce un filtro de consulta para los datos que deseas escanear. Solo puedes utilizar etiquetas de nivel de host para los agentes coincidentes. En la parte inferior, se muestra el número de agentes coincidentes y elegibles, incluido el número total de todos los agentes que coinciden con la etiqueta.
- Introduce un nombre y una descripción para el grupo.
- Haz clic en Save (Guardar).
De manera predeterminada, los grupos de escaneo recién creados se encuentran deshabilitados. Para habilitar un grupo de escaneo, haz clic en el botón correspondiente en el lado derecho.
Añadir reglas de escaneo
Una regla de escaneo determina qué información confidencial debe coincidir en los datos que define un grupo de escaneo. Puedes añadir reglas de escaneo predefinidas en la biblioteca de reglas de escaneo de Datadog o crear tus propias reglas con patrones de expresión regular. Los datos se escanean en el momento de la ingesta durante el procesamiento. En el caso de los logs, esto significa que el escaneo se realiza antes de la indexación y otras decisiones de enrutamiento.
Para Terraform, consulta el recurso regla de Datadog Sensitive Data Scanner.
Para añadir reglas de escaneo, realiza los siguientes pasos:
- Ve a la página de configuración Sensitive Data Scanner.
- Haz clic en el grupo de escaneo en el que deseas añadir las reglas de escaneo.
- Haz clic en Add Scanning Rule (Añadir regla de escaneo). Como alternativa, haz clic en el menú desplegable Add (Añadir) situado en la esquina superior derecha de la página y selecciona Add Scanning Rule (Añadir regla de escaneo).
- Selecciona si deseas añadir una regla de biblioteca o crear una regla de escaneo personalizada.
La biblioteca de reglas de escaneo contiene reglas predefinidas para detectar patrones comunes como direcciones de correo electrónico, números de tarjetas de crédito, claves de API, tokens de autorización, etc.
- Selecciona un grupo de escaneo si no has creado esta regla dentro de un grupo de escaneo.
- En la sección Add library rules to the scanning group (Añadir reglas de biblioteca al grupo de escaneo), selecciona las reglas de biblioteca que deseas utilizar.
- In the Define rule target and action section, select if you want to scan the Entire Event or Specific Attributes.
- If you are scanning the entire event, you can optionally exclude specific attributes from getting scanned.
- If you are scanning specific attributes, specify which attributes you want to scan.
- For Define actions on match, select the action you want to take for the matched information. Note: Redaction, partial redaction, and hashing are all irreversible actions.
- Redact: Replaces all matching values with the text you specify in the Replacement text field.
- Partially Redact: Replaces a specified portion of all matched data. In the Redact section, specify the number of characters you want to redact and which part of the matched data to redact.
- Hash: Replaces all matched data with a unique identifier. The UTF-8 bytes of the match is hashed with the 64-bit fingerprint of FarmHash.
- Optionally, add tags you want to associate with events where the values match the specified regex pattern. Datadog recommends using
sensitive_data
and sensitive_data_category
tags. These tags can then be used in searches, dashboards, and monitors. See Control access to logs with sensitive data for information on how to use tags to determine who can access logs containing sensitive information. - For Set priority level, select the priority level for the rule based on your business needs.
- In the Name and describe the scanning rule section, enter a name for the rule. Optionally, add a description.
- Haz clic en Add Rules (Añadir reglas).
Añadir palabras clave adicionales
Después de añadir reglas de escaneo OOTB, puedes editar cada regla por separado y añadir palabras clave adicionales al diccionario de palabras clave.
- Ve a la página de configuración Sensitive Data Scanner.
- Haz clic en el grupo de escaneo con la regla que deseas editar.
- Pasa el ratón por encima de la regla y haz clic en el icono del lápiz.
- Las palabras clave recomendadas se utilizan por defecto. Para añadir palabras clave adicionales, activa Use recommended keywords (Utilizar palabras clave recomendadas) y, a continuación, añade tus palabras clave a la lista. También puedes exigir que estas palabras clave estén dentro de un número determinado de caracteres de una coincidencia. Por defecto, las palabras clave deben estar dentro de los 30 caracteres anteriores a un valor coincidente.
- Haz clic en Update (Actualizar).
Puedes crear reglas de escaneo personalizadas mediante patrones de expresiones regulares para analizar datos confidenciales.
- Selecciona un grupo de escaneo si no has creado esta regla dentro de un grupo de escaneo.
- En la sección Definir condiciones de coincidencia, especifica el patrón de expresiones regulares que se utilizará para la coincidencia con eventos en el campo Definir la expresión regular. Introduce datos de ejemplo en el campo Añadir datos de ejemplo para comprobar que el patrón de expresiones regulares es válido.
Sensitive Data Scanner admite Perl Compatible Regular Expressions (PCRE) (Expresiones regulares compatibles con Perl), pero los siguientes patrones no son compatibles:
- Referencias pasadas y captura de subexpresiones (lookarounds)
- Aserciones arbitrarias de ancho cero
- Referencias a subrutinas y patrones recursivos
- Patrones condicionales
- Verbos de control de rastreo retrospectivo
- La directiva
\C
“single-byte” (que rompe las secuencias UTF-8) - La coincidencia de nueva línea
\R
- La directiva de reinicio de la coincidencia
\K
- Llamadas y código integrado
- Agrupación atómica y cuantificadores posesivos
- En Create keyword dictionary (Crear diccionario de palabras clave), añade palabras clave para mejorar la precisión de la detección cuando coincida con condiciones de expresión regular. Por ejemplo, si estás buscando un número de tarjeta de crédito Visa de dieciséis dígitos, puedes añadir palabras clave como
visa
, credit
y card
. También puedes exigir que estas palabras clave estén dentro de un número especificado de caracteres de una coincidencia. Por defecto, las palabras clave deben estar dentro de los 30 caracteres anteriores a un valor coincidente. - In the Define rule target and action section, select if you want to scan the Entire Event or Specific Attributes.
- If you are scanning the entire event, you can optionally exclude specific attributes from getting scanned.
- If you are scanning specific attributes, specify which attributes you want to scan.
- For Define actions on match, select the action you want to take for the matched information. Note: Redaction, partial redaction, and hashing are all irreversible actions.
- Redact: Replaces all matching values with the text you specify in the Replacement text field.
- Partially Redact: Replaces a specified portion of all matched data. In the Redact section, specify the number of characters you want to redact and which part of the matched data to redact.
- Hash: Replaces all matched data with a unique identifier. The UTF-8 bytes of the match is hashed with the 64-bit fingerprint of FarmHash.
- Optionally, add tags you want to associate with events where the values match the specified regex pattern. Datadog recommends using
sensitive_data
and sensitive_data_category
tags. These tags can then be used in searches, dashboards, and monitors. See Control access to logs with sensitive data for information on how to use tags to determine who can access logs containing sensitive information. - For Set priority level, select the priority level for the rule based on your business needs.
- In the Name and describe the scanning rule section, enter a name for the rule. Optionally, add a description.
- Haz clic en Add Rule (Añadir regla).
Notas:
- Cualquier regla que añadas o actualices solo afectará a los datos que ingresen a Datadog después de que se haya definido la regla.
- Sensitive Data Scanner no afecta a ninguna regla que definas directamente en el Datadog Agent.
- Una vez que se añadan las reglas, asegúrate de que se hayan habilitado los botones de los grupos de escaneo para comenzar a escanear.
Consulta Investigar problemas de datos confidenciales para obtener más información sobre cómo utilizar la página Resumen para clasificar los problemas de datos confidenciales.
Una regla de escaneo determina qué información confidencial debe coincidir dentro de los datos definidos por un grupo de escaneo. El Datadog Agent escanea tus datos en tu entorno local durante la recopilación de logs, antes de que los logs se envíen a la plataforma de Datadog.
Nota: Sensitive Data Scanner que utiliza el Agent solo admite reglas de escaneo predefinidas de la biblioteca de reglas de escaneo de Datadog. El número total de reglas de escaneo está limitado a 20.
Para añadir reglas de escaneo, realiza los siguientes pasos:
- Ve a la página de configuración de Sensitive Data Scanner que utiliza el Agent.
- Haz clic en Add Scanning Rule (Añadir regla de escaneo). Como alternativa, haz clic en el menú desplegable Add (Añadir) situado en la esquina superior derecha de la página y selecciona Add Scanning Rule (Añadir regla de escaneo).
- En la sección Add library rules to the scanning group (Añadir reglas de biblioteca al grupo de escaneo), selecciona las reglas de biblioteca que deseas utilizar. Utiliza la entrada Filter library rules (Filtrar reglas de biblioteca) para buscar reglas de biblioteca existentes. Junto al nombre de la regla puedes encontrar la lista de etiquetas predefinidas para cada regla.
- En la sección Define rule target and action (Definir objetivo y acción de la regla), selecciona la acción que deseas llevar a cabo para la información confidencial coincidente. Nota: La redacción, la redacción parcial y el hashing son acciones irreversibles.
- Redact (Redactar): sustituye todos los valores coincidentes por el texto que especifiques en el campo Replacement text (Texto de sustitución).
- Partially Redact (Redactar parcialmente): sustituye una parte especificada de todos los datos coincidentes. En la sección Redact (Redactar), especifica el número de caracteres que deseas redactar y qué parte de los datos coincidentes deseas redactar.
- Hash: sustituye todos los datos coincidentes por un identificador único. Los bytes UTF-8 de la coincidencia reciben un hash con la huella digital de 64 bits de FarmHash.
- Opcionalmente, añade etiquetas adicionales que desees asociar con eventos cuyos valores coincidan con el patrón regex especificado. Datadog añade etiquetas
sensitive_data
y sensitive_data_category
por defecto. Estas etiquetas pueden utilizarse en búsquedas, dashboardsy monitores. Consulta Control de acceso a logs con datos confidenciales para obtener información sobre cómo utilizar etiquetas para determinar quién puede acceder a logs que contienen información confidencial. - Haz clic en Save (Guardar).
Notas:
- Cualquier regla que añadas o actualices solo afectará a los datos que ingresen a Datadog después de que se haya definido la regla.
- Una vez que se añadan las reglas, asegúrate de que se hayan habilitado los botones de los grupos de escaneo para comenzar a escanear.
Espacios de nombres excluidos
Existen palabras clave reservadas que la plataforma de Datadog requiere para su funcionamiento. Si alguna de estas palabras se encuentra en un log que está siendo escaneado, los 30 caracteres posteriores a la palabra coincidente se ignoran y no se redactan. Por ejemplo, lo que aparece después de la palabra date
en un log suele ser la marca temporal del evento. Si la marca temporal se redacta accidentalmente, se producirían problemas con el procesamiento del log y se lo podría consultar más tarde. Por lo tanto, el comportamiento de los espacios de nombres excluidos es evitar la redacción involuntaria de información importante para la funcionalidad del producto.
Los espacios de nombres excluidos son:
host
hostname
syslog.hostname
service
status
env
dd.trace_id
trace_id
trace id
dd.span_id
span_id
span id
@timestamp
timestamp
_timestamp
Timestamp
date
published_date
syslog.timestamp
error.fingerprint
x-datadog-parent-id
Pasa el ratón por encima de la regla de escaneo que desees editar y haz clic en el icono Edit (Editar) (lápiz).
Ve a la página de configuración de Sensitive Data Scanner.
Pasa el ratón por encima de la regla de escaneo que desees editar y haz clic en el icono Edit (Editar) (lápiz).
La sección Define match conditions (Definir condiciones de coincidencia) muestra la expresión regular que escribiste para tu regla personalizada o una explicación de la regla de escaneo de biblioteca que elegiste junto con ejemplos de información confidencial coincidente.
Para asegurarte de que una regla coincide con tus datos, puedes proporcionar una muestra en la sección Add sample data (Añadir datos de muestra). Si la regla encuentra coincidencias en los datos de muestra, aparecerá una etiqueta verde Match (Coincidencia) junto al campo de entrada.
En Create keyword dictionary (Crear diccionario de palabras clave), puedes añadir palabras clave para mejorar la precisión de la detección. Por ejemplo, si buscas un número de tarjeta de crédito Visa de dieciséis dígitos, puedes añadir palabras clave como visa
, credit
y card
.
Elige el número de caracteres antes de una coincidencia en los que debe aparecer la palabra clave. Por defecto, las palabras clave deben estar dentro de los 30 caracteres anteriores a una coincidencia.
Opcionalmente, en Define rule target and action (Definir objetivo y acción de la regla), edita las etiquetas que deseas asociar con eventos donde los valores coincidan con la regla. Datadog recomienda utilizar etiquetas sensitive_data
y sensitive_data_category
, que pueden utilizarse en búsquedas, dashboards y monitores. Consulta Control de acceso a logs con datos confidenciales para obtener información sobre cómo utilizar etiquetas para determinar quién puede acceder a logs que contengan datos confidenciales.
En Set priority level (Establecer nivel de prioridad), elige un valor basado en las necesidades de tu empresa.
Haz clic en Update (Actualizar).
Ve a la página de configuración de Sensitive Data Scanner que utiliza el Agent.
Pasa el ratón por encima de la regla de escaneo que desees editar y haz clic en el icono Edit (Editar) (lápiz).
La sección Define match conditions (Definir condiciones de coincidencia) muestra una explicación de la regla de escaneo de biblioteca que elegiste junto con ejemplos de información confidencial coincidente.
En Create keyword dictionary (Crear diccionario de palabras clave), puedes añadir palabras clave para mejorar la precisión de la detección. Por ejemplo, si buscas un número de tarjeta de crédito Visa de dieciséis dígitos, puedes añadir palabras clave como visa
, credit
y card
.
Elige el número de caracteres antes de una coincidencia en los que debe aparecer la palabra clave. Por defecto, las palabras clave deben estar dentro de los 30 caracteres anteriores a una coincidencia.
Haz clic en Save (Guardar).
Controlar el acceso a logs con datos confidenciales
Para controlar quién puede acceder a los logs que contienen datos confidenciales, utiliza etiquetas añadidas por el Sensitive Data Scanner para crear consultas con control de acceso basado en roles (RBAC). Puedes restringir el acceso a personas o equipos específicos hasta que los datos caduquen tras el periodo de retención. Consulta Cómo configurar RBAC para logs para obtener más información.
Redactar datos confidenciales en etiquetas
Para redactar datos confidenciales contenidos en etiquetas, debes reasignar la etiqueta a un atributo y, a continuación, redactar el atributo. Desmarca Preserve source attribute
en el procesador de reasignación para que la etiqueta no se conserve durante la reasignación.
Para reasignar la etiqueta a un atributo:
- Navega hasta tu pipeline de log.
- Haz clic en Add Processor (Agregar procesador).
- Selecciona Remapper (Reasignador) en el menú desplegable de tipo de procesador.
- Nombra el procesador.
- Selecciona Tag key(s) (Claves de etiqueta).
- Introduce la clave de etiqueta.
- Introduce un nombre para el atributo al que se reasigna la clave de etiqueta.
- Deshabilita Preserve source attribute (Preservar atributo de fuente).
- Haz clic en Create (Crear).
Para redactar el atributo:
- Navega hasta tu grupo de escaneo.
- Haz clic en Add Scanning Rule (Añadir regla de escaneo).
- Comprueba las reglas de biblioteca que deseas utilizar.
- Selecciona Specific Attributes (Atributos específicos) en Scan entire event or portion of it (Escanear el evento completo o una parte).
- Introduce el nombre del atributo que creaste anteriormente para especificar que deseas que se escanee.
- Selecciona la acción que desees cuando haya una coincidencia.
- Si lo deseas, añade etiquetas.
- Haz clic en Add Rules (Añadir reglas).
Esta funcionalidad no se encuentra disponible para Sensitive Data Scanner cuando se usa el Agent.
Escaneo del almacenamiento en la nube
Disponibilidad limitada
La compatibilidad del análisis de buckets de Amazon S3 e instancias RDS está en Disponibilidad limitada. Para inscribirte, haz clic en Request Access (Solicitar acceso).
Request AccessSi tienes activado Sensitive Data Scanner, puedes catalogar y clasificar los datos confidenciales en tus buckets de Amazon S3 e instancias RDS.
Sensitive Data Scanner analiza datos confidenciales desplegando analizadores sin Agent en tus entornos de nube. Estas instancias de análisis recuperan una lista de todos los buckets de S3 e instancias RDS mediante configuración remota y tienen instrucciones definidas para analizar archivos de texto, como CSV y JSON, y tablas en cada almacén de datos a lo largo del tiempo. Sensitive Data Scanner aprovecha la totalidad de tus bibliotecas de reglas para encontrar coincidencias. Cuando se encuentra una coincidencia, la instancia de análisis envía la localización de la coincidencia a Datadog. Los almacenes de datos y sus archivos sólo se leen en tus entornos. No se reenvía ningún dato confidencial a Datadog.
Además de mostrar las coincidencias de datos confidenciales, Cloud Storage muestra cualquier problema de seguridad detectado por Cloud Security Management que afecte a los almacenes de datos confidenciales. Puedes hacer clic en cualquier problema para continuar con la clasificación y la corrección en Cloud Security Management.
Dashboard predefinido
Cuando se activa Sensitive Data Scanner, se instala automáticamente en tu cuenta un dashboard predefinido que resume los hallazgos de datos confidenciales. Para acceder a este dashboard, ve a Dashboards > Lista de dashboards y busca “Resumen de Sensitive Data Scanner”.
Desactivar Sensitive Data Scanner
Para desactivar por completo el Sensitive Data Scanner, pon el conmutador en off (desactivado) para cada grupo de escaneo, de modo que queden desactivados.
Referencias adicionales
Más enlaces, artículos y documentación útiles: