obfuscate
obfuscate
处理器允许混淆文档中的字段,以保护敏感数据。
用法
在此示例中,一个文档包含一个 log
字段和一个 phone
字段,如下面的对象所示
{
"id": 1,
"phone": "(555) 555 5555",
"log": "My name is Bob and my email address is abc@example.com"
}
要混淆 log
和 phone
字段,请添加 obfuscate
处理器,并在 source
选项中调用每个字段。为了同时处理 log
和 phone
字段,以下示例使用多个 obfuscate
处理器,因为每个处理器只能混淆一个来源。
在管道中的第一个 obfuscate
处理器中,源 log
使用了几个配置选项来掩盖日志字段中的数据,如下面的示例所示。有关这些选项的更多详细信息,请参阅 配置。
pipeline:
source:
http:
processor:
- obfuscate:
source: "log"
target: "new_log"
patterns:
- "[A-Za-z0-9+_.-]+@([\\w-]+\\.)+[\\w-]{2,4}"
action:
mask:
mask_character: "#"
mask_character_length: 6
- obfuscate:
source: "phone"
sink:
- stdout:
运行时,obfuscate
处理器会将字段解析为以下输出
{
"id": 1,
"phone": "***",
"log": "My name is Bob and my email address is abc@example.com",
"newLog": "My name is Bob and my email address is ######"
}
配置
将以下配置选项与 obfuscate
处理器一起使用。
参数 | 必需 | 描述 |
---|---|---|
source | 是 | 要混淆的源字段。 |
目标 | 否 | 用于存储混淆值的新字段。这会使原始源字段保持不变。如果未提供 target ,则源字段会使用混淆值进行更新。 |
模式 | 否 | 允许您混淆字段特定部分的正则表达式模式列表。只有匹配正则表达式模式的部分才会被混淆。如果未提供,处理器会混淆整个字段。 |
single_word_only | 否 | 当设置为 true 时,模式中会添加一个单词边界 \b ,这会导致混淆仅应用于输入文本中独立的单词。默认情况下,它为 false ,这意味着混淆模式应用于所有出现。可用于 Data Prepper 2.8 或更高版本。 |
obfuscate_when | 否 | 指定 Obfuscate 处理器应在何种条件下执行匹配。默认为无条件。 |
tags_on_match_failure | 否 | 如果混淆处理器未能匹配模式,则添加到事件的标签。 |
action | 否 | 混淆操作。截至 Data Prepper 2.3,仅支持 mask 操作。 |
您可以使用以下可选配置选项来自定义 mask
操作。
参数 | 默认值 | 描述 |
---|---|---|
mask_character | * | 掩码时使用的字符。有效字符为 !, #, $, %, &, *, 和 @。 |
mask_character_length | 3 | 字段中要掩码的字符数。值必须介于 1 到 10 之间。 |
预定义模式
使用 patterns
配置选项时,您可以使用一组预定义的混淆模式来处理常见字段。obfuscate
处理器支持以下预定义模式。
您不能为一个混淆处理器使用多个模式。请为每个混淆处理器使用一个模式。
模式名称 | 示例 |
---|---|
%{EMAIL_ADDRESS} | abc@test.com 123@test.com abc123@test.com abc_123@test.com a-b@test.com a.b@test.com abc@test-test.com abc@test.com.cn abc@test.mail.com.org |
%{IP_ADDRESS_V4} | 1.1.1.1 192.168.1.1 255.255.255.0 |
%{BASE_NUMBER} | 1.1 .1 2000 |
%{CREDIT_CARD_NUMBER} | 5555555555554444 4111111111111111 1234567890123456 1234 5678 9012 3456 1234-5678-9012-3456 |
%{US_PHONE_NUMBER} | 1555 555 5555 5555555555 1-555-555-5555 1-(555)-555-5555 1(555) 555 5555 (555) 555 5555 +1-555-555-5555 |
%{US_SSN_NUMBER} | 123-11-1234 |