铁佛 发表于 2024-10-20 12:35:50

Elasticsearch:Redact(编辑) processor

Redact 处置惩罚器使用 Grok 规则引擎来隐藏输入文档中与给定 Grok 模式匹配的文本。该处置惩罚器可用于隐藏个人身份信息 (Personal Identifying Information - PII),方法是将其配置为检测已知模式,比方电子邮件或 IP 所在。与 Grok 模式匹配的文本将被替换为可配置的字符串,比方与电子邮件所在匹配的 <EMAIL>,或者如果乐意,只需将所有匹配项替换为文本 <REDACTED>。
Elasticsearch 附带了许多有效的预定义模式,Redact 处置惩罚器可以方便地引用这些模式。如果其中一个不符合你的需求,请使用自定义模式定义创建新模式。Redact 处置惩罚器会替换匹配的每一个出现位置。如果有多个匹配项,则所有匹配项都将替换为模式名称。
Redact 处置惩罚器与 Elastic Common Schema (ECS) 模式兼容。不支持旧版 Grok 模式。
   留意:这个 redact 处置惩罚器器需要需要订阅白金或者企业版才可以使用。

在管道中使用 Redact 处置惩罚器

   Redact 选项名称必须默认值形貌 field
yes
-
要编辑的字段 patterns
yes
-
用于匹配和编辑命名捕捉的 grok 表达式列表 pattern_definitions
no
-
模式名称和模式元组的映射,定义处置惩罚器要使用的自定义模式。与现闻名称匹配的模式将覆盖预先存在的定义 prefix
no
<
使用此标志开始编辑部分 suffix
no
>
以此标志结束编辑部分 ignore_missing
no
true
如果为 true 且字段不存在或为空,则处置惩罚器会静静退出,而不会修改文档 description
no
-
处置惩罚器的形貌。用于形貌处置惩罚器的用途或其配置。 if
no
-
有条件地实行处置惩罚器。请参阅有条件地运行处置惩罚器。 ignore_failure
no
false
忽略处置惩罚器的故障。请参阅处置惩罚管道故障。 on_failure
no
-
处置惩罚处置惩罚器故障。请参阅处置惩罚管道故障。 tag
no
-
处置惩罚器的标识符。对于调试和指标很有效。 skip_if_unlicensed
no
false
如果为真,且当前允许证不支持运行修订处置惩罚器,则处置惩罚器会静静退出,不修改文档 在此示例中,预定义的 IP Grok 模式用于匹配和编辑 message 文本字段中的 IP 所在。使用 Simulate API 测试管道。
POST _ingest/pipeline/_simulate
{
"pipeline": {
    "description" : "Hide my IP",
    "processors": [
      {
      "redact": {
          "field": "message",
          "patterns": ["%{IP:client}"]
      }
      }
    ]
},
"docs":[
    {
      "_source": {
      "message": "55.3.244.1 GET /index.html 15824 0.043"
      }
    }
]
} https://i-blog.csdnimg.cn/direct/f2acea470be64e4a8572f2b9e4821753.png
如果没有授权,我们可以看到如上所示的错误信息。我们可以启动白金试用。然后再运行和上面的下令:
https://i-blog.csdnimg.cn/direct/2a05f12e1bfe4acfbcb5ef0bb0aa6b25.png
相应中的文档仍旧包含 message 字段,但现在 IP 所在 55.3.244.1 被文本 <client> 替换。
IP 所在被替换为单词 client,因为这是 Grok 模式 %{IP:client} 中指定的。模式名称四周的 < 和 > 标志可使用前缀和后缀选项进行配置。
下一个示例定义了多个模式,它们都替换为单词 REDACTED,前缀和后缀标志设置为 *
POST _ingest/pipeline/_simulate
{
"pipeline": {
    "description": "Hide my IP",
    "processors": [
      {
      "redact": {
          "field": "message",
          "patterns": [
            "%{IP:REDACTED}",
            "%{EMAILADDRESS:REDACTED}"
          ],
          "prefix": "*",
          "suffix": "*"
      }
      }
    ]
},
"docs": [
    {
      "_source": {
      "message": "55.3.244.1 GET /index.html 15824 0.043 test@elastic.co"
      }
    }
]
} https://i-blog.csdnimg.cn/direct/a72107e8a77a49a1b12e4a4ecd31e8ba.png
在相应中,IP 55.3.244.1 和电子邮件所在 test@elastic.co 都已被 *REDACTED* 替换。

自定义模式

如果现有的 Grok 模式之一不符合你的要求,可以使用 pattern_definitions 选项添加自定义模式。新模式定义由模式名称和模式自己组成。模式可以是正则表达式或引用现有的 Grok 模式。
此示例定义自定义模式 GITHUB_NAME 以匹配 GitHub 用户名。模式定义使用以笔墨 @ 为前缀的现有 USERNAME Grok 模式。
   留意:Grok 调试器是用于构建自定义模式的真正有效的工具。
POST _ingest/pipeline/_simulate
{
"pipeline": {
    "processors": [
      {
      "redact": {
          "field": "message",
          "patterns": [
            "%{GITHUB_NAME:GITHUB_NAME}"
          ],
          "pattern_definitions": {
            "GITHUB_NAME": "@%{USERNAME}"
          }
      }
      }
    ]
},
"docs": [
    {
      "_source": {
      "message": "@elastic-data-management the PR is ready for review"
      }
    }
]
} https://i-blog.csdnimg.cn/direct/f8c9bddedde24b4ebf6c70388008160e.png
用户名在相应中已被删除。

Grok 看门狗

看门狗会停止实行时间过长的表达式。停止后,Redact 处置惩罚器会失败并出现错误。控制 Grok Watchdog 超时的类似设置也实用于 Redact 处置惩罚器。

允许

Redact 处置惩罚器是一项商业功能,需要适当的允许证。有关更多信息,请参阅 https://www.elastic.co/subscriptions。
可以在 redact 处置惩罚器上设置 skip_if_unlicensed 选项,以控制集群允许证不足以运行此类处置惩罚器时的举动。skip_if_unlicensed 默认为 false,如果集群允许证不足,redact 处置惩罚器将抛出异常。但是,如果将 skip_if_unlicensed 选项设置为 true,则在允许证不足的情况下,redact 处置惩罚器不会抛出异常(它什么也不做)。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Elasticsearch:Redact(编辑) processor