TLS DSL 提供正则替换函数,您可以通过正则替换的方式来隐藏日志中的敏感数据,降低敏感数据泄漏的风险。
通过正则替换函数可以用指定字符替换手机号码的中间位,达到脱敏的效果。例如使用 regex_replace 函数替换 11 位手机号的中间 4 位,不显示完整的手机号信息。
[ { "phone":"15199997654" } ]
# 使用正则替换 f_set("phone", regex_replace(v("phone"), "(\\d{0,3})\\d{4}(\\d{4})", replace="$1****$2"))
[ { "phone":"151****7654" } ]
通过正则替换函数可以用指定字符替换 IP 地址的中间位,达到 IP 地址脱敏的效果。例如以下日志中包含 IP 地址,可运用 regex_replace 函数对 IP 地址进行正则捕获后脱敏。
[ { "ip":"111.222.111.222" } ]
# 使用正则替换 f_set("ip", regex_replace(v("ip"), "(\\d+).(\\d+).(\\d+).(\\d+)", replace="$1.*.*.$4"))
[ { "ip":"111.*.*.222" } ]
通过正则替换函数可以用指定字符替换邮箱地址的前缀部分,达到邮箱地址脱敏的效果。例如以下日志中包含完整的邮箱地址,您可以替换邮箱地址的前缀部分,除第一个字符外,其余字符均用* 替换,不显示完整的邮箱地址。
[ { "mail":"seo1893@dev.com" } ]
# 使用正则替换 f_set("mail", regex_replace(v("mail"), "([A-Za-z\d])[A-Za-z\d]+(@.*)", replace="$1***$2"))
[ { "mail":"s***@dev.com" } ]