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 处理器
| 名称 | 必须 | 默认值 | 描述 |
|---|---|---|---|
|
| yes | - | 要编辑的字段 |
|
| yes | - | 用于匹配和编辑命名捕获的 grok 表达式列表 |
|
| no | - | 模式名称和模式元组的映射,定义处理器要使用的自定义模式。与现有名称匹配的模式将覆盖预先存在的定义 |
|
| no | < | 使用此标记开始编辑部分 |
|
| no | > | 以此标记结束编辑部分 |
|
| no |
| 如果为 true 且字段不存在或为空,则处理器会悄悄退出,而不会修改文档 |
|
| no | - | 处理器的描述。用于描述处理器的用途或其配置。 |
|
| no | - | 有条件地执行处理器。请参阅有条件地运行处理器。 |
|
| no |
| 忽略处理器的故障。请参阅处理管道故障。 |
|
| no | - | 处理处理器故障。请参阅处理管道故障。 |
|
| no | - | 处理器的标识符。对于调试和指标很有用。 |
|
| no |
| 如果为真,且当前许可证不支持运行修订处理器,则处理器会悄悄退出,不修改文档 |
在此示例中,预定义的 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"}}]
}

如果没有授权,我们可以看到如上所示的错误信息。我们可以启动白金试用。然后再运行和上面的命令:

响应中的文档仍然包含 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"}}]
}

在响应中,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"}}]
}

用户名在响应中已被删除。
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 处理器不会抛出异常(它什么也不做)。
相关文章:
Elasticsearch:Redact(编辑) processor
Redact 处理器使用 Grok 规则引擎来隐藏输入文档中与给定 Grok 模式匹配的文本。该处理器可用于隐藏个人身份信息 (Personal Identifying Information - PII),方法是将其配置为检测已知模式,例如电子邮件或 IP 地址。与 Grok 模式匹配的文本将被替换为可…...
O2OA结合备份脚本和定时任务进行数据库的备份,我们以MySQL数据库为例
概述 系统运行一段时间后,可能发生各种情况导致数据丢失,如硬件故障、人为错误、软件错误、病毒攻击等。定期备份可以帮助您保护数据免受这些风险的影响,以便在需要时能够恢复数据。 O2OA应用本身可以通过dump配置每天自定备份数据ÿ…...
Python自动化办公:批量提取PDF中的表格到Excel
在现代办公环境中,处理大量的PDF文件并提取其中的表格数据是一项常见而繁琐的任务。手动复制粘贴不仅耗时耗力,还容易出错。Python作为一种功能强大的编程语言,提供了丰富的工具包,可以高效地解决这一问题。本文将介绍如何使用Pyt…...
selenium有多个frame页时的操作方法(5)
之前文章我们提到,在webdriver.WebDriver类有一个switch_to方法,通过switch_to.frame()可以切换到不同的frame页然后才再定位某个元素做一些输入/点击等操作。 比如下面这个测试网站有2个frame页:http://www.sahitest.com/demo/framesTest.h…...
谷歌外链的周期性维护!
外链建设不是一次性的工作,它需要长期的维护和更新,才能持续为网站带来稳定的流量和SEO提升。很多网站在初期通过短期内大规模获取外链的方式,确实能看到排名的提升,但这种方法往往难以维持长期的效果。谷歌更喜欢自然、持续增长的…...
CATIA软件许可管理最佳实践
在当今的工程设计领域,CATIA软件已成为众多企业不可或缺的工具。然而,随着软件使用的广泛普及,许可管理变得尤为关键。本文将为您探讨CATIA软件许可管理的最佳实践,助您在确保合规性的同时,实现成本效益的最大化。 一、…...
大华智能云网关注册管理平台 SQL注入漏洞复现(CNVD-2024-38747)
0x01 产品简介 大华智能云网关注册管理平台是一款专为解决社会面视频资源接入问题而设计的高效、便捷的管理工具,平台凭借其高效接入、灵活部署、安全保障、兼容性和便捷管理等特点,成为了解决社会面视频资源接入问题的优选方案。该平台不仅提高了联网效率,降低了联网成本,…...
什么是思维导图,手把手教你做经典思维导图
在信息爆炸的时代,如何高效整理思绪、激发创意、提升学习效率成为了我们共同面临的挑战。思维导图,这一源自脑科学的思维工具,以其直观、灵活的特点,成为了众多学习者、管理者和创意人士的得力助手。今天,就让我们一起…...
使用GSEA读‘gmt文件‘时最后一行未遂问题解决
最近工作中,使用GSEA网站自定义库下载的gmt文件用函数读取的时候报错: 这种问题在文本文件读取中经常出现,往往因为最后一行未留出/n,也就是最后一行没有换行留出空行。 可以使用notepad打开gmt文件: 发现果然最后一行…...
C++中vector常用函数总结
一,vector vector可以理解为一个边长数组,可以存储不同的类型,int ,double,char,结构体等。 也可以才能出STL标准容器,如set,string,vector等 二,构造函数 vector(size_t n,T val) …...
手撕数据结构 —— 队列(C语言讲解)
目录 1.什么是队列 2.如何实现队列 3.队列的实现 Queue.h中接口总览 具体实现 结构的定义 初始化 销毁 入队列 出队列 取队头元素 取队尾元素 判断是否为空 获取队列的大小 4.完整代码附录 Queue.h Queue.c 1.什么是队列 队列是一种特殊的线性表࿰…...
Java知识巩固(五)
目录 基本数据类型 基本类型和包装类型的区别? 自动装箱与拆箱了解吗?原理是什么? 为什么浮点数运算的时候回邮精度丢失的风险? 如何解决浮点数运算的精度丢失问题? 超过 long 整型的数据应该如何表示? 基本数据…...
C# 中 yield关键字的使用
yield return有以下优点: 每次迭代时生成一个值,并且在下次迭代时继续从上次离开的地方开始。 延迟执行:只有在实际需要时才会生成下一个值,这对于处理大量数据非常有用。 节省内存:不需要一次性将所有数据加载到内存中…...
YoloDotNet 的基本使用方法详解
文章目录 一、创建项目与引用库二、模型加载与初始化三、图像数据的处理与输入四、目标检测结果的获取与解析五、性能优化与参数调整一、创建项目与引用库 在使用 YoloDotNet 之前,首先需要在开发环境中创建一个新的项目。可以选择使用 Visual Studio 等开发工具,创建一个 C#…...
0x12 Dapr Dashboard configurations 未授权访问漏洞 CVE-2022-38817
参考: Dapr Dashboard configurations 未授权访问漏洞 CVE-2022-38817 | PeiQi文库 (wgpsec.org)免责声明 欢迎访问我的博客。以下内容仅供教育和信息用途: 合法性:我不支持或鼓励非法活动。请确保遵守法律法规。信息准确性:尽管我尽力提供准确的信息,但不保证其完全准确…...
Android activity 启动流程
Android activity 启动流程 本文主要记录下acitivty的启动流程. 1: Activity 我们都知道启动activity调用方法: startActivity(Intent intent)startActivity(Intent intent, Nullable Bundle options)startActivityForResult(RequiresPermission Intent intent, int reques…...
使用 Go 语言实现 WebSocket的核心逻辑
文章目录 WebSocket 简介时序图核心逻辑Client 结构与功能创建新客户端消息读取逻辑 (ReadPump)发送消息逻辑 (Send)客户端管理器 (ClientManager)WebSocket 处理器处理心跳与长连接 总结 本文将基于 Go 语言,通过使用 gorilla/websocket 库来实现一个简单的聊天应用…...
Linux下的杀毒软件介绍
Linux下的杀毒软件介绍 一、Linux杀毒软件的基本概念和作用二、Linux杀毒软件的选择三、Linux杀毒软件推荐四、Linux杀毒软件对应用进程的影响五、结论在当今数字化和网络化的环境中,保护计算机系统的安全至关重要。尽管Linux操作系统因其开源、稳定且相对安全的特性而较少受到…...
JSONP详解
JSONP(JSON with Padding)是一种非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过JavaScript callback的形式实现跨域访问。以下是对JSONP的详细解释: 一、JSONP的背景与原理 背景: 由于浏…...
Leetcode—1115. 交替打印 FooBar【中等】(多线程)
2024每日刷题(180) Leetcode—1115. 交替打印 FooBar C实现代码 class FooBar { private:int n;sem_t fooSem;sem_t barSem;public:FooBar(int n) {this->n n;sem_init(&fooSem, 0, 1);sem_init(&barSem, 0, 0);}~FooBar() {sem_destroy(&…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
C++11 constexpr和字面类型:从入门到精通
文章目录 引言一、constexpr的基本概念与使用1.1 constexpr的定义与作用1.2 constexpr变量1.3 constexpr函数1.4 constexpr在类构造函数中的应用1.5 constexpr的优势 二、字面类型的基本概念与使用2.1 字面类型的定义与作用2.2 字面类型的应用场景2.2.1 常量定义2.2.2 模板参数…...
比特币:固若金汤的数字堡垒与它的四道防线
第一道防线:机密信函——无法破解的哈希加密 将每一笔比特币交易比作一封在堡垒内部传递的机密信函。 解释“哈希”(Hashing)就是一种军事级的加密术(SHA-256),能将信函内容(交易细节…...
