数据安全(脱敏加密)类插件

数据安全类插件用于脱敏、加密敏感数据。

插件效果示例

表格展示该原始日志在分别使用脱敏处理插件(原生)与不使用插件的情况下,保存到日志服务后的数据结构。

原始日志

不使用插件

使用脱敏处理插件

[{'account':'1812213231432969','password':'04a23f38'}, {'account':'1812213685634','password':'123a'}]

Content:"[{'account':'1812213231432969','password':'04a23f38'}, {'account':'1812213685634','password':'123a'}]"

Content:"[{'account':'1812213231432969','password':'********'}, {'account':'1812213685634','password':'********'}]"

数据安全插件概览

日志服务提供以下多种类型的数据安全类插件,请按需要进行选择。

插件名称

类型

功能说明

脱敏处理

原生

对日志字段进行脱敏替换。

数据脱敏

拓展

敏感数据替换为指定字符串或MD5。

字段加密

拓展

对指定字段内容进行加密。

数据编码与解码

拓展

对数据进行:BASE64解码、BASE64编码、MD5编码。

功能入口

当您需要使用Logtail插件处理日志时,您可以在创建或修改Logtail配置时,添加插件。具体操作,请参见处理插件概述

原生插件与拓展插件的区别

原生插件:C++实现,性能更强。

拓展插件:Go实现,生态丰富且灵活,当业务日志过于复杂,无法使用原生插件处理时,可以考虑使用拓展插件。

  • 拓展插件性能限制

    • 使用拓展插件进行日志处理时,LoongCollector会消耗更多的资源(以CPU为主),如有需求可以调整LoongCollector参数配置进行日志传输延时过长优化

    • 当原始数据量的生成速度超过5 MB/s时,不建议使用过于复杂的插件组合来处理日志,可以使用拓展插件进行简单处理,再通过数据加工完成进一步处理。

  • 日志采集限制

    • 拓展插件对文本日志的处理采用行模式,即文件级别的元数据(例如__tag__:__path____topic__等)会被存放到每一条日志中。

    • 添加拓展插件后会影响和Tag相关的功能:

      • 上下文查询和LiveTail功能不可用。如果要使用这些功能,需要额外添加aggregators配置。

      • __topic__字段会被重命名为__log_topic__。如果添加了aggregators配置,日志中将同时存在__topic__字段和__log_topic__字段。如果您不需要__log_topic__字段,可使用丢弃字段插件删除该字段。

      • __tag__:__path__等字段不再具备原生字段索引,需要创建字段索引

脱敏处理插件(原生)

脱敏处理插件,用于脱敏日志。

配置说明

参数名称

说明

原始字段

解析日志前,用于存放日志内容的原始字段。

脱敏方式

脱敏方式,包括:

  • const:将敏感内容替换成您所修改的字符串。

  • md5:将敏感内容替换为其对应的MD5值。

替换字符串

选择脱敏方式const,需输入字符串,用于替换敏感内容。

被替换内容前的内容表达式

敏感内容前的内容表达式,用于查找敏感内容。使用RE2语法。更多信息,请参见RE2语法

被替换的内容表达式

敏感内容的表达式。使用RE2语法。更多信息,请参见RE2语法

替换所有匹配内容

  • 选中替换所有匹配内容,则替换该字段中所有的敏感内容。

  • 不选中替换所有匹配内容,则只替换字段中与表达式匹配的第一部分内容。

配置示例

  • 原始字段

    content:[{'account':'1812213231432969','password':'04a23f38'}, {'account':'1812213685634','password':'123a'}]
  • Logtail配置image.png

  • 解析结果

    [{'account':'1812213231432969','password':'********'}, {'account':'1812213685634','password':'********'}]

数据脱敏插件(拓展)

使用processor_desensitize插件,将日志中的敏感数据替换为指定字符串或MD5值。此处介绍processor_desensitize插件的参数说明和配置示例。

使用限制

  • 表单配置方式:采集文本日志和容器标准输出时可用。

  • JSON配置方式:采集文本日志时不可用。

配置说明

重要

Logtail 1.3.0及以上版本支持processor_desensitize插件。

表单配置方式

配置处理器类型数据脱敏,相关参数说明如下表所示。

  • 参数说明

    参数

    说明

    原始字段

    日志字段名称。

    脱敏方式

    脱敏方式。可选值:

    • 字符串替换:将敏感内容替换为字符串。您可以通过替换字符串参数指定目标字符串。

    • md5:将敏感内容替换为对应的MD5值。

    敏感数据内容

    指定提取敏感内容的方式。可选值:

    • 字段全文:全部提取,即替换目标字段值中的所有内容。

    • 正则指定:使用正则表达式提取敏感内容。

    替换字符串

    用于替换敏感内容的字符串。

    设置脱敏方式字符串替换时,必填。

    敏感内容前缀正则

    匹配敏感内容前缀的正则表达式。

    设置敏感数据内容正则指定时,必填。

    敏感内容正则

    匹配敏感内容的正则表达式。

    设置敏感数据内容正则指定时,必填。

  • 配置示例

    将目标字段值中的所有内容替换为字符串。

    • 原始日志

      "password" : "123abcdefg"
    • Logtail插件处理配置image

    • 处理结果

      "password":"********"

JSON配置方式

配置typeprocessor_desensitizedetail说明如下表所示。

  • 参数说明

    参数

    类型

    是否必选

    说明

    SourceKey

    String

    日志字段名称。

    Method

    String

    脱敏方式。可选值:

    • const:将敏感内容替换为字符串。您可以通过ReplaceString参数指定目标字符串。

    • md5:将敏感内容替换为对应的MD5值。

    Match

    String

    指定提取敏感内容的方式。可选值:

    • full(默认值):全部提取,即替换目标字段值中的所有内容。

    • regex:使用正则表达式提取敏感内容。

    ReplaceString

    String

    用于替换敏感内容的字符串。

    设置Methodconst时,必填。

    RegexBegin

    String

    匹配敏感内容前缀的正则表达式。

    设置Matchregex时,必填。

    RegexContent

    String

    匹配敏感内容的正则表达式。

    设置Matchregex时,必填。

  • 配置示例

    • 示例1

      将目标字段值中的所有内容替换为字符串,即设置MethodconstMatchfull

      • 原始日志

        "password" : "123abcdefg"
      • Logtail插件处理配置

        {
          "type" : "processor_desensitize",
          "detail" : {
            "SourceKey" : "password",
            "Method" : "const",
            "Match" : "full",
            "ReplaceString": "********"
          }
        }
      • 处理结果

        "password":"********"
    • 示例2

      使用正则表达式指定目标字段值中的敏感内容,并替换为对应的MD5值,即设置Methodmd5Matchregex

      • 原始日志

        "content" : "[{'account':'1234567890','password':'abc123'}]"
      • Logtail插件处理配置

        {
           "type" : "processor_desensitize",
           "detail" : {
              "SourceKey" : "content",
              "Method" : "md5",
              "Match" : "regex",
              "RegexBegin": "'password':'",
              "RegexContent": "[^']*"
           }
        }
      • 处理结果

        "content":"[{'account':'1234567890','password':'e99a18c428cb38d5f260853678922e03'}]"

字段加密插件(拓展)

使用processor_encrypt插件对指定字段进行加密。此处介绍processor_encrypt插件的参数说明和配置示例。

配置说明

表单配置方式

配置处理器类型字段加密,相关参数说明如下表所示。

参数

说明

原始字段

指定需要加密的原始字段,支持添加多个。

密钥

设置密钥,格式为64个十六进制字符。

初始向量

设置加密的初始向量,格式为32个十六进制字符,默认值为00000000000000000000000000000000

保存路径

读取加密参数的文件路径。未配置时按照Logtail配置-输入配置-文件路径读取。

失败保留原始数据

选中该选项后,如果加密失败,系统将保留原始字段的值。

如果未选中该选项,则加密失败后,字段值将被替换为ENCRYPT_ERROR

JSON配置方式

配置typeprocessor_encryptdetail说明如下表所示。

参数

类型

是否必选

说明

SourceKey

String数组

原始字段名。

EncryptionParameters

Object

密钥相关配置。

Key

String

设置密钥,需为64个十六进制字符。

IV

String

设置加密的初始向量,需为32个十六进制字符,默认值为00000000000000000000000000000000

KeyFilePath

Boolean

读取加密参数的文件路径。未配置时按照Logtail配置-输入配置-文件路径读取。

KeepSourceValueIfError

String

加密失败,系统是否保留原始字段的值。

  • true:保留。

  • false(默认值):不保留。

    加密失败后,字段值将被替换为ENCRYPT_ERROR

数据编码与解码插件(拓展)

使用processor_base64_encoding、processor_base64_decodingprocessor_md5插件对字段值进行编解码。此处介绍各个插件的参数说明和配置示例。

使用限制

  • 表单配置方式:采集文本日志和容器标准输出时可用。

  • JSON配置方式:采集文本日志时不可用。

BASE64编码

通过processor_base64_encoding插件对字段值进行编码。

表单配置方式

配置处理器类型BASE64(编码),相关参数说明如下表所示。

参数

说明

原始字段

原始字段名。

结果字段

编码后的结果字段名。

原始字段缺失报错

选中该选项后,如果原始日志中无您所指定的原始字段,系统将报错。

JSON配置方式

配置typeprocessor_base64_encodingdetail说明如下表所示。

参数

类型

是否必选

说明

SourceKey

String

原始字段名。

NewKey

String

编码后的结果字段名。

NoKeyError

Boolean

原始日志中无您所指定的原始字段时,系统是否报错。

  • true:报错。

  • false(默认值):不报错。

BASE64解码

通过processor_base64_decoding插件对字段值进行解码。

表单配置方式

配置处理器类型BASE64(解码),相关参数说明如下表所示。

参数

说明

原始字段

原始字段名。

结果字段

解码后的结果字段名。

原始字段缺失报错

选中该选项后,如果原始日志中无您所指定的原始字段,系统将报错。

解码失败报错

选中该选项后,如果解码失败,系统将报错。

JSON配置方式

配置typeprocessor_base64_decodingdetail说明如下表所示。

参数

类型

是否必选

说明

SourceKey

String

原始字段名。

NewKey

String

解码后的结果字段名。

NoKeyError

Boolean

原始日志中无您所指定的原始字段时,系统是否报错。

  • true:报错。

  • false(默认值):不报错。

DecodeError

Boolean

解码失败时,系统是否报错。

  • true:报错。

  • false(默认值):不报错。

MD5编码

通过processor_md5插件对字段值进行MD5编码。

表单配置方式

配置处理器类型MD5,相关参数说明如下表所示。

参数

说明

原始字段

原始字段名。

结果字段

编码后的结果字段名。

原始字段缺失报错

选中该选项后,如果原始日志中无您所指定的原始字段,系统将报错。

JSON配置方式

配置typeprocessor_md5detail说明如下表所示。

参数

类型

是否必选

说明

SourceKey

String

原始字段名。

MD5Key

String

编码后的结果字段名。

NoKeyError

Boolean

原始日志中无您所指定的原始字段时,系统是否报错。

  • true:报错。

  • false(默认值):不报错。

相关文档