问题描述
我在 Copilot Studio 里把 agent 的 Settings > Security > Authentication 设成 No authentication 之后,发现 Overview / Publish 页面直接报错,导致发布被阻止:
2 errors are preventing your agent from being publishedDue to a recent data loss prevention policy change...You need to configure at least one channel...Your agent does not require end user authentication
一开始 No authentication 这个选项在界面里还是灰色不可选。后来我用 JavaScript 强行把 input 的 disabled 去掉,虽然表面上能保存,但保存后的草稿还是发不出去。
排查过程
1. 先看 Copilot Studio 给的 DLP details
我先下载了 Copilot Studio 提供的 DLP details Excel 文件。
2. 用 PowerShell 读文件
然后用 PowerShell 的 ImportExcel 模块去看里面到底写了什么。
3. 第一份文件里看到了两类阻止项
第一类是环境级设置阻止:
Blocked by: SettingsPolicy/Setting name: Agent Authentication Settings - Authentication RequiredSettings enforcement level: Environment Level
第二类是 DLP connector 冲突:
Chat without Microsoft Entra ID authentication in Copilot StudioDirect Line channels in Copilot Studio
这两个 connector 被分到了不同的 data group,结果 DLP 直接冲突。
4. 调整 DLP policy
我把这两个 connector 调整到同一个 data group 里,并且都不能被 Block,同时把 policy 作用到目标环境。
5. 再次下载 DLP details
重新下载后确认:
DLP violations没有实际违规行了ACP violations没有实际违规行了Blocked channels也没有实际违规行了- 但还剩一个环境级设置:
Agent Authentication Settings - Authentication Required
6. 找到真正的设置位置
后来我在 Power Platform admin center 里找到了真正对应的地方:
Security / Identity and access management > Authentication for agents (preview)
相关文档:
7. 修改环境级认证设置
在这里把 agent authentication 改成允许 No authentication / anonymous access。
8. 等待传播
等策略传播一段时间后,再回到 Copilot Studio 刷新,问题就消失了。
最终结论
这次不是单一的 DLP 问题,而是两个治理控制叠在一起:
- DLP policy 里,Copilot Studio 的匿名认证 connector 和 Direct Line channel connector 分组冲突。
- Power Platform 环境级
Authentication for agents设置要求 agent 必须使用认证。
DLP 调完以后,发布错误还在,是因为环境级 authentication setting 还没有生效,或者还没传播完成。
最后是在正确的位置修改 Authentication for agents (preview),等它生效之后,No authentication 才能正常使用。
后续建议
-
不要靠 JavaScript 强行改灰掉的选项。
灰掉一般就代表后台治理不允许。前端绕过去,发布校验还是会失败。
-
匿名 agent 不要直接暴露敏感业务数据。
如果后面要接这些资源,就要重新审 DLP 和权限边界:
- SharePoint
- Dataverse
- Power Automate
- HTTP connector
- Microsoft Graph
- Custom connector
- 其他 premium connector
-
DLP 分组逻辑要保持清晰。
如果允许匿名访问,建议把匿名相关 connector 和外部 channel 放到
Non-business组里,别跟业务数据 connector 混在一起。 -
修改 Power Platform 或 Copilot Studio 的治理设置后,要留出传播时间。
我一般会等 10 到 30 分钟,再重新打开 agent,重新下载一次 DLP details 文件确认。
-
排查时优先看 DLP details Excel。
页面横幅常常只会泛泛地写成 DLP policy change,但 Excel 里的
Blocked by字段更准:Blocked by: DLP说明是 DLP policy 问题Blocked by: Settings说明是环境级或租户级设置问题