Presidio和NeMo Guardrails,可以称之为AI DLP吗?

AI DLP是一种控制AI服务,防止敏感数据被发送到不当位置的系统。DLP是Data Loss Prevention的缩写,即数据防泄漏。粘贴到聊天机器人中的客户信息、通过搜索获取的内部文档以及AI生成的回复都可能成为保护对象。

在构建此类服务时,经常同时出现的工具是Presidio和NVIDIA NeMo Guardrails。Presidio负责查找和遮蔽敏感信息,而NeMo Guardrails则负责将检查和策略连接到对话和处理流程中。将这两种工具与应用程序的实际阻止功能相结合的配置可以描述为AI DLP管道。

本文将分别探讨这两种工具的作用,并以一个总结客户咨询内容的AI服务为例,整理数据应在何处进行检查以及在何处停止。解释范围主要涵盖处理文本的LLM应用程序。

敏感数据片段通过多个保护过滤器传输到AI处理区域的概念图

AI DLP的核心是数据和目的地

DLP的基本问题很简单:“这个人可以将这些数据发送到这个目的地吗?”即使是同一份文档,在公司内部批准的存储库中保存和上传到外部服务时的策略也可能不同。

企业DLP将此问题应用于电子邮件、文件共享、终端、云应用程序等多种路径。例如,Microsoft Purview DLP根据策略条件评估敏感信息和用户活动,并提供根据条件限制共享或留下警告/审计记录的功能。保护范围和应用方式因产品和部署配置而异。Microsoft的DLP概述

在使用LLM(即大型语言模型)的服务中,数据移动路径会进一步增加。用户输入被发送到模型提供商,内部文档被搜索并作为参考资料输入到模型中,工具被调用以从业务系统中获取数据。生成的回复可以传递给用户,也可能保留在操作日志中。

在此,我们将将敏感信息识别、按目的地划分的策略、遮蔽或阻止以及验证记录连接到这些路径的配置称为AI DLP。“AI DLP”在上下文中也可以指利用AI的DLP,因此在文档或讲座中,如果同时明确保护对象是LLM的输入、搜索和输出路径,则范围会更清晰。

组件 主要职责 需连接的功能
— — —
Presidio 检测和转换个人信息等已配置的敏感信息类型 保护信息的定义、按语言划分的识别器、后续策略
NeMo Guardrails 输入、搜索、对话、工具、输出的检查和流程控制 检查模型·动作、业务策略、应用程序集成
应用程序·网关 实际允许或中断请求传输、响应返回、工具执行 认证·权限、传输目的地、错误处理、审计记录
企业DLP 跨多个业务通道的数据移动控制 产品支持的通道连接和组织策略

此表总结了各组件的主要职责。功能上存在重叠。NeMo内部可以调用Presidio,网关也可以提供自己的检查功能。核心不在于工具的数量,而在于数据实际经过的路径是否连接了控制。

Presidio:查找敏感部分并按需转换

Presidio的文本处理结构可以简单地分为两个阶段来理解。Analyzer负责查找“何处存在何种敏感信息”,Anonymizer则负责处理“如何转换找到的部分”。

Analyzer使用称为识别器的检测单元。识别器可以利用正则表达式、规则、上下文、命名实体识别模型等。命名实体识别是识别句子中特定类型的表达,如人名或地点。检测结果包括信息类型、起始·结束位置、分数等。Presidio Analyzer文档

Anonymizer接收此位置信息,并执行删除字符串、替换为其他值、遮蔽部分字符或加密等处理。例如,当使用外部模型总结咨询内容时,如果客户的联系方式不需要用于总结,则可以只删除该部分后再发送句子。Presidio Anonymizer文档

以下是展示处理概念的示例。括号内的值是用于说明的标记,而非实际个人信息,也不是通过运行Presidio获得的检测结果。

처리 전
고객 {고객 이름}의 연락처는 {고객 이메일}이다.
배송 지연에 대한 문의를 한 문장으로 요약해 줘.

필요한 항목을 탐지·치환한 뒤
고객 [PERSON]의 연락처는 [EMAIL_ADDRESS]이다.
배송 지연에 대한 문의를 한 문장으로 요약해 줘.

此配置保留了总结所需的“配送延迟咨询”,同时减少了姓名和联系方式的暴露。反之,如果目的是身份验证或联系方式修改,则所需数据和允许的处理环境将有所不同。遮蔽范围根据业务目的和接收者的权限确定。

Presidio的检测和转换结果如何连接到NeMo的策略流程和应用程序的实际执行的角色关系

图1. 检测·转换、策略连接、实际执行的角色关系。根据Presidio Analyzer、Anonymizer、NeMo的Guardrail Types官方文档重新构建。应用程序执行区域是本文的设计示例。

这里,“匿名化”这个名称应与处理方式一起理解。Presidio的Anonymizer也包含像加密这样可逆的操作。即使姓名被遮蔽,如果与其他信息结合后仍能识别个人,则仍存在再识别的可能性。因此,在描述处理结果时,使用实际执行的操作(如“遮蔽了联系方式”、“替换了标识符”)更为准确。

如何处理韩语和内部信息?

截至2026年9月15日,官方支持列表中包含了韩国居民身份证号KR_RRN、驾驶执照号KR_DRIVER_LICENSE等韩国相关类型。在实际服务中,需要确认所使用的软件包版本是否包含相应的识别器,以及是否在设置中加载并被选为检查对象。Presidio支持类型

韩语姓名、地址和句子中的上下文是另外的问题。Presidio的多语言文档解释说,基本配置包含英语模型和识别器,对于其他语言,需要匹配NLP引擎和识别器·上下文词汇。这就是为什么需要将韩国相关号码类型的支持与韩语句子的整体检测质量分开验证的原因。Presidio多语言支持

除了个人信息,还有许多信息需要保护。内部项目代码、非公开合同条款、设计文档可能仅凭个人信息检测无法充分分类。对于此类信息,可以同时应用业务识别器、文档安全等级、分类规则等。Presidio可以添加用户自定义识别器,但受保护信息的含义和策略必须由服务具体定义。

值得注意的是,被称为“Microsoft Presidio”的项目目前正在向Data Privacy Stack的独立社区项目过渡,相关公告已发布。本文中的Presidio链接是基于当前官方文档连接的。项目过渡公告

NeMo Guardrails:将检查连接到所需节点

在NeMo Guardrails中,rail指的是在请求处理过程中应用策略的检查·控制流程。检查点不仅可以设置在输入和输出,还可以设置在检索到的文档、工具调用以及多次连续对话中。

WRIMO-MD-TABLE-1]此区分遵循NeMo官方文档的功能说明。实际支持范围需根据所使用的引擎和集成方式进行确认。并非所有类型的rail在所有执行环境中都以相同方式运行。[NeMo Guardrail Types

同时使用这两种工具的配置也得到了官方支持。NeMo的Presidio集成包括在输入、输出和检索到的文档片段中检测或遮蔽敏感信息的流程。因此,除了“经过NeMo后再强制经过一次独立的Presidio服务器”这种固定部署方式外,也可以实现为NeMo的相应rail调用Presidio进行检查的结构。NeMo PII Detection

此时,检测和遮蔽是不同的策略动作。“如果存在敏感信息则拒绝请求”和“替换敏感信息后继续请求”的用户体验也不同。检查何种类型、在哪个阶段应用、选择何种动作都必须包含在配置中。NeMo的Presidio集成指南

例如,可以创建限制“显示所有客户信息”请求的策略。这需要判断请求含义的规则或模型,以及根据结果停止处理的动作。仅仅安装NeMo并不能自动定义内部业务策略或客户数据访问权限。

追踪一个请求,即可看到AI DLP的范围

假设有一个总结客户咨询的服务。用户输入咨询内容,服务搜索所需的业务文档,然后请求LLM进行总结。RAG是Retrieval-Augmented Generation的缩写,是一种将检索到的资料放入模型的参考上下文中以生成回复的方式。

下图是此服务的设计示例。它并非直接描绘NeMo的实际内部调用顺序,而是以数据在移动到下一个目的地之前必须满足的条件为中心绘制的。

AI DLP流程图,根据用户输入和权限检查检索到的数据,然后发送给LLM,并在输出检查后传递给用户

图2. LLM服务的数据移动和检查位置。这是根据NeMo PII Detection、Guardrail Types、Microsoft DLP概述官方文档重新构建的设计示例。权限检查和传输·响应执行被标记为应用程序的责任。

首先,应用程序验证用户的身份和允许的工作范围。服务器限制可以搜索哪些文档、可以查看哪些客户记录以及可以执行哪些工具。只有确定了这个范围,后续的数据检查才能转化为有意义的策略。

其次,在将用户输入发送给下一个接收者之前,完成必要的检查。如果目标是避免将原始个人信息发送给外部模型,则必须在该边界被跨越之前完成检测和遮蔽。这里的外部模型不仅包括生成回复的主模型,还包括分类请求的辅助模型。

这个顺序是设计上的条件。例如,如果先将原始文本发送给判断输入策略的外部LLM,然后再用Presidio进行遮蔽,那么原始文本就已经传递给了那个辅助模型。因此,应配置为首先在批准处理个人信息的环境中进行检查,或者使用批准的检查服务和数据处理路径。

并行执行检查和生成的设置也以相同的标准进行判断。NeMo有一种在输入检查期间开始生成的方式,因此对于在传输前必须完成检查的路径,需要确认实际设置和调用顺序。需要检查遮蔽内容的后续rail将在遮蔽后按顺序执行。NeMo运行时安全FAQ

第三,通过搜索和工具新获取的数据也需要检查。即使用户输入中没有个人信息,检索到的咨询记录中也可能包含联系方式。将搜索目标限制为仅限权限允许的文档,并在输入模型之前,根据目的地策略遮蔽必要的项目。工具结果进入模型上下文的情况也以相同的视角处理。

第四,检查生成的回复,然后返回实际响应。应用程序接收rail的结果,然后发送批准的回复、修改后的回复或终止请求。即使库返回“阻止”,如果单独的代码路径直接发送原始响应,则该路径将不受控制。

通过连接输入和输出的Presidio检查、NeMo的策略流程以及应用程序的执行,可以端到端地解释数据保护操作。在安全架构文档中,在每个阶段名称旁边注明“检查什么,失败时停止什么”,可以使实现范围更加清晰。

遮蔽和访问权限回答不同的问题

敏感信息检测判断“此内容是否包含需要保护的信息”。访问权限检查判断“此用户是否可以访问此信息”。这两个判断是同时需要的。

例如,假设咨询员工有权总结一名负责客户的记录。可以遮蔽要传递给外部模型的联系方式,但这并不意味着他有权搜索其他部门客户的记录。反之,即使请求来自具有访问权限的员工,也必须确认数据将传输到的外部服务是否是经批准的目的地。

因此,在此设计中,文档搜索和业务API的权限由服务器执行,并通过Guardrails进一步检查请求和结果的适当性。数据所有者、用户角色、文档等级、传输目的地等业务信息必须与策略判断相关联。这部分是基于两个库的功能说明扩展的应用程序设计原则。

在运营中,甚至要确认检查顺序和记录路径

在验证AI DLP的效果时,需要同时查看检测结果和实际传输结果。以下三点尤其适合在设计阶段确定。

流式传输:仅导出已检查的范围

流式传输是模型逐步向用户发送回复的方式。已发送的内容无法通过延迟的输出阻止来撤回。如果目标是防止敏感信息泄露,则应配置缓冲区和输出策略,以检查整个回复或仅传输已检查的范围。

NeMo提供流式传输和输出rail设置。官方FAQ建议,如果需要在暴露前进行检查,则将stream_first: False设置为先检查片段。应用时,需在实际集成环境中确认检查单元、缓冲区处理和中断行为。完整响应检查和分段检查在延迟时间和上下文获取方面具有不同的特性。NeMo流式传输设置、运行时安全FAQ

错误:确定如何处理检查失败

检测器或策略服务可能会导致超时。此时,需要决定是中断请求、限制功能,还是将其发送到其他经批准的处理路径。例如,如果某个路径禁止外部传输原始个人信息,则可以将未能完成必要检查的请求设计为不向外部传输。

这并不意味着所有服务都应用相同的停止规则。关键在于根据要保护的数据和业务影响来划分策略,并在记录中区分“未执行检查的状态”和“已通过检查的状态”。

日志:观察保护结果,同时减少原始数据存储

即使返回给用户的回复已被遮蔽,原始输入仍可能首先存储在跟踪系统中。NeMo官方文档也解释说,PII rail不会自动净化所有应用程序日志和外部观察系统。日志、缓存、错误报告和重试记录也应视为单独的数据目的地,并在存储前应用处理和访问·保留策略。NeMo运行时安全FAQ

运营指标在很大程度上可以在没有完整原始文本的情况下收集。这是一种将请求标识符与应用了哪个策略版本、检测到何种信息类型、执行了何种操作以及处理时间等信息关联起来的方式。需要验证原始文本的受限调查路径应单独定义权限和保留期限。本节中的项目是扩展了前面定义的数据移动范围到操作路径的设计示例。

引入效果通过检测质量和业务结果进行评估

Presidio官方文档指出,自动检测不能保证找到所有敏感信息,需要根据用例进行评估。评估同时衡量正常数据被错误阻止的情况和敏感信息被遗漏的情况。Presidio项目指南、PII检测评估文档

首先,可以在合成数据等受控评估资料中确认精确度和召回率。精确度是检测为敏感信息中实际敏感信息的比例,召回率是实际敏感信息中被找到的比例。按类型(如姓名、联系方式、识别号)划分,并区分韩语·英语混合资料,可以揭示改进的位置。

接下来,确认整个应用程序的结果。以下项目是本文咨询总结服务的评估示例。

  • 传输结果:传输到外部模型的值和返回给用户的值是否符合相应策略?
  • 业务质量:遮蔽后,是否仍能正确总结配送延迟的原因和客户请求?
  • 正常处理:是否避免不必要地拒绝不包含敏感信息的咨询?
  • 失败处理:如果必要检查失败,是否执行了预设的停止·限制操作?
  • 运营成本:额外检查带来的延迟和成本是否在服务目标范围内?

尤其是在遮蔽之后,信息关系可能会发生变化。如果将两个不同的人都替换为相同的标记,那么“谁向谁请求了什么”就会变得模糊。如果业务需要区分,则应考虑使用不同替代标识符的设计,并且如果保留原始值和替代值的对应表,则该表也应作为受保护对象进行管理。

总结:可以将这两种工具描述为AI DLP的组成部分

使用Presidio和NeMo Guardrails保护LLM服务中的敏感信息的过程可以以AI DLP实现为主题进行解释。同时说明每个工具的作用和保护范围,可以使技术含义更加清晰。

  • Presidio:检测和遮蔽·替换敏感信息的数据保护引擎。
  • NeMo Guardrails:配置包括AI DLP策略在内的检查和处理流程的Guardrail引擎。
  • 应用程序·网关:根据权限和目的地策略,实际允许或中断数据传输和任务执行的执行层。

介绍此配置的讲座或设计文档可以使用标题“LLM环境中的AI DLP实现:Presidio和NeMo Guardrails”。其中包含输入、搜索、工具结果、输出和日志的处理范围和验证标准,读者可以关联理解工具的功能和系统提供的保护。

AI DLP的实际保护范围不仅取决于安装了哪些工具,还取决于哪些数据移动到哪个目的地,以及在此之前经过了哪些检查和执行。


Comments

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注