Proteja los datos sensibles mediante el enmascaramiento, cifrado o codificación de campos de registro durante la recolección.
Ejemplo
A continuación se compara un registro sin procesar almacenado en SLS con y sin el plugin de enmascaramiento de datos.
|
Registro sin procesar |
Sin plugin |
Con plugin |
|
Content: "[{'account':'1812213231432969','password':'04a23f38'}, {'account':'1812213685634','password':'123a'}]" |
Content: "[{'account':'1812213231432969','password':''}, {'account':'1812213685634','password':''}]" |
Plugins de seguridad de datos
Los siguientes plugins de seguridad de datos están disponibles.
|
Parámetro |
Tipo |
Descripción |
|
enmascaramiento de datos |
nativo |
Enmascara campos de registro. |
|
enmascaramiento de datos |
extensión |
Reemplaza datos sensibles con una cadena especificada o un hash MD5. |
|
cifrado de campos |
extensión |
Cifra el contenido de campos específicos. |
|
codificación y decodificación de datos |
extensión |
Ejecuta decodificación Base64, codificación Base64 y codificación MD5 sobre los datos. |
Punto de entrada
Para usar un plugin de Logtail en el procesamiento de registros, agréguelo al crear o modificar una configuración de Logtail. Para obtener más información, consulte Overview.
Diferencias entre plugins nativos y de extensión
Plugins nativos: Escritos en C++ para ofrecer un mayor rendimiento.
Plugins de extensión: Escritos en Go para proporcionar un ecosistema más amplio y mayor flexibilidad. Utilícelos para registros empresariales complejos que los plugins nativos no pueden procesar.
-
Limitaciones de rendimiento de los plugins de extensión
Los plugins de extensión provocan que LoongCollector consuma más recursos, principalmente CPU. Ajuste los parámetros de LoongCollector en Configuration Management si es necesario.
Si los datos sin procesar superan los 5 MB/s, evite combinaciones complejas de plugins. Use un plugin de extensión para el procesamiento básico y luego delegue la carga a Data Transformation.
-
Limitaciones en la recolección de registros
Los plugins de extensión procesan registros de texto en modo de línea, por lo que los metadatos a nivel de archivo como
__tag__:__path__y__topic__se almacenan en cada entrada de registro.-
Agregar plugins de extensión afecta las funciones relacionadas con etiquetas:
La consulta contextual y LiveTail no están disponibles a menos que agregue una configuración de agregadores.
El campo
__topic__cambia de nombre a__log_topic__. Si agrega una configuración de agregadores, tanto el campo__topic__como__log_topic__estarán presentes en los registros. Si no necesita el campo__log_topic__, puede usar drop field plugin para eliminarlo.Campos como
__tag__:__path__ya no cuentan con un índice de campo nativo. Debe create a field index para ellos.
Plugin de enmascaramiento de datos (nativo)
El plugin de enmascaramiento de datos oculta información sensible en los registros.
Configuración
|
Parámetro |
Descripción |
|
Original Field |
Campo que almacena el contenido del registro sin procesar antes del análisis sintáctico. |
|
Data Masking Method |
Método de enmascaramiento. Valores válidos:
|
|
Replacement String |
Cadena que reemplaza al contenido sensible. Este parámetro es obligatorio solo cuando Data Masking Method se establece en const. |
|
Content Expression that Precedes Replaced Content |
Expresión regular utilizada para localizar los datos sensibles mediante la coincidencia con el contenido que los precede. La expresión debe estar en sintaxis RE2. |
|
Content Expression to Match Replaced Content |
Expresión regular que coincide con el contenido sensible que se va a enmascarar. La expresión debe estar en sintaxis RE2. |
|
Replace All Matched Content |
|
Plugin de desensibilización de datos
El plugin processor_desensitize reemplaza los datos sensibles en los registros con una cadena especificada o un hash MD5.
Limitaciones
Configuración basada en formulario: Compatible con la recolección de registros de texto y salida estándar de contenedores.
Configuración basada en JSON: No compatible con la recolección de registros de texto.
Configuración
Las versiones 1.3.0 y posteriores de Logtail admiten el plugin processor_desensitize.
Formulario
Establezca processor type en Data Masking. La siguiente tabla describe los parámetros relacionados.
-
Parámetros
Parámetro
Descripción
Original Field
Nombre del campo de registro.
Data Masking Method
Método utilizado para la desensibilización de datos. Valores válidos:
-
String Replacement: Reemplaza el contenido sensible con una cadena. Puede especificar la cadena destino mediante el parámetro Replacement String.
-
md5: Reemplaza el contenido sensible con su hash MD5.
Sensitive Data Content
Método para extraer contenido sensible. Valores válidos:
-
Field Text: Reemplaza el valor completo del campo destino.
-
Use Regular Expression: Usa una expresión regular para extraer contenido sensible.
Replacement String
Cadena utilizada para reemplazar el contenido sensible.
Obligatorio si Data Masking Method es String Replacement.
Regex to Match Sensitive Content Prefix
Expresión regular para coincidir con el prefijo del contenido sensible.
Obligatorio si Sensitive Data Content es regex-based specification.
Regex to Match Sensitive Content
Expresión regular para coincidir con el contenido sensible.
Obligatorio si Sensitive Data Content es regex-based specification.
-
-
Ejemplo de configuración
Reemplace el valor completo del campo destino con una cadena.
-
Registro sin procesar
"password" : "123abcdefg" Configuración del plugin de Logtail: Establezca processor type en data desensitization y luego configure los siguientes parámetros: source field en
password, desensitization method en string replacement, sensitive data content en full field y replacement string en********.-
Resultado del procesamiento
"password":"********"
-
JSON
Establezca type en processor_desensitize. La siguiente tabla describe los parámetros dentro del objeto detail.
-
Parámetros
Parámetro
Tipo
Obligatorio
Descripción
SourceKey
String
Sí
Nombre del campo de registro.
Method
String
Sí
Método utilizado para la desensibilización de datos. Valores válidos:
-
const: Reemplaza el contenido sensible con una cadena. Puede usar el parámetro ReplaceString para especificar la cadena destino.
-
md5: Reemplaza el contenido sensible con su hash MD5.
Match
String
No
Método para extraer contenido sensible. Valores válidos:
-
full (predeterminado): Reemplaza el valor completo del campo destino.
-
regex: Usa una expresión regular para extraer contenido sensible.
ReplaceString
String
No
Cadena utilizada para reemplazar el contenido sensible.
Obligatorio si Method se establece en const.
RegexBegin
String
No
Expresión regular para coincidir con el prefijo del contenido sensible.
Obligatorio si Match se establece en regex.
RegexContent
String
No
Expresión regular para coincidir con el contenido sensible.
Obligatorio si Match se establece en regex.
-
-
Ejemplos de configuración
-
Ejemplo 1
Para reemplazar el valor completo del campo destino con una cadena, establezca Method en const y Match en full.
-
Registro sin procesar
"password" : "123abcdefg" -
Configuración del plugin de Logtail
{ "type" : "processor_desensitize", "detail" : { "SourceKey" : "password", "Method" : "const", "Match" : "full", "ReplaceString": "********" } } -
Resultado del procesamiento
"password":"********"
-
-
Ejemplo 2
Para usar una expresión regular que especifique el contenido sensible y reemplazarlo con su hash MD5, establezca Method en md5 y Match en regex.
-
Registro sin procesar
"content" : "[{'account':'1234567890','password':'abc123'}]" -
Configuración del plugin de Logtail
{ "type" : "processor_desensitize", "detail" : { "SourceKey" : "content", "Method" : "md5", "Match" : "regex", "RegexBegin": "'password':'", "RegexContent": "[^']*" } } -
Resultado del procesamiento
"content":"[{'account':'1234567890','password':'e99a18c428cb38d5f260853678922e03'}]"
-
-
Plugin de cifrado de campos
El plugin processor_encrypt cifra el contenido de campos específicos.
Configuración
Formulario
Establezca Processor Type en Field Encryption. La siguiente tabla describe los parámetros relacionados.
|
Parámetro |
Descripción |
|
Original Field |
Campos de origen que se van a cifrar. Puede agregar varios campos. |
|
AccessKey Pair |
Clave de cifrado. Debe ser una cadena hexadecimal de 64 caracteres. |
|
Initialization Vector |
Vector de inicialización para el cifrado. Debe ser una cadena hexadecimal de 32 caracteres. El valor predeterminado es |
|
Storage Path |
Ruta al archivo que contiene los parámetros de cifrado. Si no se especifica, el plugin usa File Path de la configuración Input de Logtail. |
|
Retain Raw Data If Processing Fails |
Si selecciona esta opción, el sistema conserva el valor del campo de origen cuando falla el cifrado. Si no se selecciona esta opción, el valor del campo se reemplaza con |
JSON
Establezca type en processor_encrypt. La siguiente tabla describe el parámetro detail.
|
Parámetro |
Tipo |
Obligatorio |
Descripción |
|
|
Array of strings |
Sí |
Campos de origen que se van a cifrar. |
|
|
Object |
Sí |
Configuración de cifrado. |
|
|
String |
Sí |
Clave de cifrado. Debe ser una cadena hexadecimal de 64 caracteres. |
|
|
String |
No |
Vector de inicialización para el cifrado. Debe ser una cadena hexadecimal de 32 caracteres. El valor predeterminado es |
|
|
String |
No |
Ruta al archivo que contiene los parámetros de cifrado. Si no se especifica, el plugin usa File Path de la configuración Input de Logtail. |
|
|
Boolean |
No |
Especifica si se conserva el valor de origen cuando falla el cifrado.
|
Plugin de codificación y decodificación de datos
Los plugins processor_base64_encoding, processor_base64_decoding y processor_md5 codifican y decodifican valores de campos.
Limitaciones
Configuración mediante formulario: Disponible al recopilar registros de texto y salida estándar de contenedores.
Configuración basada en JSON: No compatible con la recopilación de registros de texto.
Codificación Base64
Decodificación Base64
Codificación MD5
Referencias
-
Gestionar configuraciones de pipeline de Logtail mediante la API:
-
Configurar plugins de procesamiento en la consola:
Collect container logs from clusters (standard output/files) using a Kubernetes CRD