Link Search Menu Expand Document Documentation Menu

obfuscate

obfuscate 处理器允许混淆文档中的字段,以保护敏感数据。

用法

在此示例中,一个文档包含一个 log 字段和一个 phone 字段,如下面的对象所示

{
  "id": 1,
  "phone": "(555) 555 5555",
  "log": "My name is Bob and my email address is abc@example.com"
}

要混淆 logphone 字段,请添加 obfuscate 处理器,并在 source 选项中调用每个字段。为了同时处理 logphone 字段,以下示例使用多个 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
剩余 350 字符

有问题?

想做贡献?