数据安全类插件用于脱敏、加密敏感数据。
插件效果示例
表格展示该原始日志在分别使用脱敏处理插件(原生)与不使用插件的情况下,保存到日志服务后的数据结构。
原始日志 | 不使用插件 | 使用脱敏处理插件 |
| 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相关的功能:
脱敏处理插件(原生)
脱敏处理插件,用于脱敏日志。
配置说明
参数名称 | 说明 |
原始字段 | 解析日志前,用于存放日志内容的原始字段。 |
脱敏方式 | 脱敏方式,包括:
|
替换字符串 | 选择脱敏方式为const,需输入字符串,用于替换敏感内容。 |
被替换内容前的内容表达式 | 敏感内容前的内容表达式,用于查找敏感内容。使用RE2语法。更多信息,请参见RE2语法。 |
被替换的内容表达式 | 敏感内容的表达式。使用RE2语法。更多信息,请参见RE2语法。 |
替换所有匹配内容 |
|
数据脱敏插件(拓展)
使用processor_desensitize插件,将日志中的敏感数据替换为指定字符串或MD5值。此处介绍processor_desensitize插件的参数说明和配置示例。
使用限制
表单配置方式:采集文本日志和容器标准输出时可用。
JSON配置方式:采集文本日志时不可用。
配置说明
Logtail 1.3.0及以上版本支持processor_desensitize插件。
表单配置方式
配置处理器类型为数据脱敏,相关参数说明如下表所示。
参数说明
参数
说明
原始字段
日志字段名称。
脱敏方式
脱敏方式。可选值:
字符串替换:将敏感内容替换为字符串。您可以通过替换字符串参数指定目标字符串。
md5:将敏感内容替换为对应的MD5值。
敏感数据内容
指定提取敏感内容的方式。可选值:
字段全文:全部提取,即替换目标字段值中的所有内容。
正则指定:使用正则表达式提取敏感内容。
替换字符串
用于替换敏感内容的字符串。
设置脱敏方式为字符串替换时,必填。
敏感内容前缀正则
匹配敏感内容前缀的正则表达式。
设置敏感数据内容为正则指定时,必填。
敏感内容正则
匹配敏感内容的正则表达式。
设置敏感数据内容为正则指定时,必填。
配置示例
将目标字段值中的所有内容替换为字符串。
原始日志
"password" : "123abcdefg"Logtail插件处理配置

处理结果
"password":"********"
JSON配置方式
配置type为processor_desensitize,detail说明如下表所示。
参数说明
参数
类型
是否必选
说明
SourceKey
String
是
日志字段名称。
Method
String
是
脱敏方式。可选值:
const:将敏感内容替换为字符串。您可以通过ReplaceString参数指定目标字符串。
md5:将敏感内容替换为对应的MD5值。
Match
String
否
指定提取敏感内容的方式。可选值:
full(默认值):全部提取,即替换目标字段值中的所有内容。
regex:使用正则表达式提取敏感内容。
ReplaceString
String
否
用于替换敏感内容的字符串。
设置Method为const时,必填。
RegexBegin
String
否
匹配敏感内容前缀的正则表达式。
设置Match为regex时,必填。
RegexContent
String
否
匹配敏感内容的正则表达式。
设置Match为regex时,必填。
配置示例
示例1
将目标字段值中的所有内容替换为字符串,即设置Method为const,Match为full。
原始日志
"password" : "123abcdefg"Logtail插件处理配置
{ "type" : "processor_desensitize", "detail" : { "SourceKey" : "password", "Method" : "const", "Match" : "full", "ReplaceString": "********" } }处理结果
"password":"********"
示例2
使用正则表达式指定目标字段值中的敏感内容,并替换为对应的MD5值,即设置Method为md5,Match为regex。
原始日志
"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个十六进制字符,默认值为 |
保存路径 | 读取加密参数的文件路径。未配置时按照Logtail配置-输入配置-文件路径读取。 |
失败保留原始数据 | 选中该选项后,如果加密失败,系统将保留原始字段的值。 如果未选中该选项,则加密失败后,字段值将被替换为 |
JSON配置方式
配置type为processor_encrypt,detail说明如下表所示。
参数 | 类型 | 是否必选 | 说明 |
SourceKey | String数组 | 是 | 原始字段名。 |
EncryptionParameters | Object | 是 | 密钥相关配置。 |
Key | String | 是 | 设置密钥,需为64个十六进制字符。 |
IV | String | 否 | 设置加密的初始向量,需为32个十六进制字符,默认值为 |
KeyFilePath | Boolean | 否 | 读取加密参数的文件路径。未配置时按照Logtail配置-输入配置-文件路径读取。 |
KeepSourceValueIfError | String | 否 | 加密失败,系统是否保留原始字段的值。
|
数据编码与解码插件(拓展)
使用processor_base64_encoding、processor_base64_decoding或processor_md5插件对字段值进行编解码。此处介绍各个插件的参数说明和配置示例。
使用限制
表单配置方式:采集文本日志和容器标准输出时可用。
JSON配置方式:采集文本日志时不可用。
BASE64编码
BASE64解码
MD5编码
相关文档
通过API接口配置Logtail流水线:
通过控制台配置处理插件:
