数据安全类插件用于脱敏、加密敏感数据。
插件效果示例
表格展示该原始日志在分别使用脱敏处理插件(原生)与不使用插件的情况下,保存到日志服务后的数据结构。
|
原始日志 |
不使用插件 |
使用脱敏处理插件 |
|
Content:"[{'account':'1812213231432969','password':'04a23f38'}, {'account':'1812213685634','password':'123a'}]" |
Content:"[{'account':'1812213231432969','password':'********'}, {'account':'1812213685634','password':'********'}]" |
数据安全插件概览
日志服务提供以下多种类型的数据安全类插件,请按需要进行选择。
|
插件名称 |
类型 |
功能说明 |
|
脱敏处理 |
原生 |
对日志字段进行脱敏替换。 |
|
数据脱敏 |
拓展 |
敏感数据替换为指定字符串或MD5。 |
|
字段加密 |
拓展 |
对指定字段内容进行加密。 |
|
数据编码与解码 |
拓展 |
对数据进行:BASE64解码、BASE64编码、MD5编码。 |
功能入口
当您需要使用Logtail插件处理日志时,您可以在创建或修改Logtail配置时,添加插件。具体操作,请参见处理插件概述。
原生插件与拓展插件的区别
原生插件:C++实现,性能更强。
拓展插件:Go实现,生态丰富且灵活,当业务日志过于复杂,无法使用原生插件处理时,可以考虑使用拓展插件。
-
拓展插件性能限制
-
日志采集限制
-
拓展插件对文本日志的处理采用行模式,即文件级别的元数据(例如
__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流水线:
-
通过控制台配置处理插件:
