SuperAPI AI 工具集

purview-dlp-integration

智能体与模型

查看项目

更新于 10-16 09:32

技能介绍

用途:为已有的 A365 智能体添加 Purview DLP 闸门。用户回合进入后,先经输入闸门调用 Graph processContent 评估提示,命中阻断策略则直接回复“blocked”并停止,LLM 不会被调用;可选输出审核用于审计,不阻断响应。启用触发语包括“add Purview DLP to my agent”“block credit cards / SSNs / PII before my agent's LLM sees them”等。

主要能力:默认 fail-closed,任何 Purview 错误或超时都会阻断该轮;委托守卫拒绝超过 100,000 字符的消息,且不会凭前缀放行整条消息;PURVIEW_CHECK_OUTPUT=true 时提交响应做审核,但 DownloadText 阻断不受支持,不得承诺过滤敏感响应。

使用方式:先读取 a365.config.json 与 a365.generated.config.json 自动发现 App id、Blueprint id、显示名、租户与 Graph scope,再询问 DLP 策略(新建/现有/跳过)、敏感信息类型、管理员 UPN 等。按语言复制守卫文件(Node.js assets/purview.ts、Python assets/purview.py、.NET assets/purview.cs)并应用对应 wiring snippet;设置 PURVIEW_DLP_ENABLED=true,委托项目守卫会自动读取配置。运行 scripts/Grant-DelegatedGraphScope.ps1 授予 Content.Process.User,不能对 blueprint 应用执行 az ad app permission admin-consent。策略可选 Option A 运行 New-AiAppDlpPolicy.ps1(默认,需 ExchangeOnlineManagement),Option B 用 -ListExisting 查看现有策略,Option C 手动创建。策略需满足:位置为 Applications(门户“Managed cloud apps”)并限定智能体 Entra 应用 id,执行面为 Application,规则为内容包含指定敏感信息类型,动作为 RestrictAccess 对 UploadText 阻断,Mode 为 Enable,不能与 Exchange/SharePoint/OneDrive/Teams 混在同一策略。

S2S/仅应用智能体:使用 assets/purview-s2s.ts,通过 FMI 链铸造智能体身份的 Graph token,调用 POST /beta/users/{sponsorUserId}/dataSecurityAndGovernance/processContent,并授予 Content.Process.All(Application)给智能体身份 SP,运行 scripts/Grant-ContentProcessAppRole.ps1。需要 AGENT365_TENANT_ID、AGENT365_AGENT_ID、AGENT365_CLIENT_ID、AGENT365_CLIENT_SECRET 等凭据,PURVIEW_SPONSOR_USER_ID 用真实目录用户对象 ID,密钥只放环境或密钥库。该变体需要 client-secret FMI,不可切换仅托管身份的智能体。

限制:不适用于 OpenTelemetry/MAC Activity 遥测(用 instrument-observability)、遥测未达诊断(用 a365-code-validator)、从零预配 blueprint/Entra 权限(先用 a365-setup / make-a365-agent)。无 A365 配置的项目需手动传入 app id、显示名与租户 id。.NET 守卫为尽力移植,需核对 ITurnContext/UserAuthorization 命名空间。缺失事实(如具体价格、平台范围)暂未提供。