Microsoft Entra运行状况监视在检测到租户活动发生重大更改时提供租户级别的运行状况信号和警报。 代理 ID 自主登录方案可帮助你调查代理进行身份验证并以自己的身份执行操作时失败的情况。
本文介绍如何解读该场景,将警报与服务主体登录和审核日志相关联,以及缓解常见问题。 有关共享的调查工作流,请参阅调查 Microsoft Entra 运行状况监视警报。
Important
Microsoft Entra运行状况方案监视和警报目前以预览版提供。 此信息与可能在发布前进行实质性修改的预发行版产品相关。 Microsoft 不对此处提供的信息作任何明示或默示的担保。
了解“自主”的含义
在仅限应用程序的访问中,代理会以其自身身份请求令牌,而不是代表已登录的用户。 它使用应用程序权限,而不是委托的用户权限。 即使代理还支持与人员的交互式对话,代理也可以使用此访问模式。 有关身份验证流,请参阅 对自治代理进行身份验证并获取令牌。
对于 Microsoft Entra 代理标识,令牌获取分为两个阶段:蓝图进行身份验证,并为子代理标识获取交换令牌;子代理标识使用该令牌来请求资源访问令牌。 凭据是在蓝图上配置的,而不是在子代理标识上配置的。 请参阅 Agent 自主应用 OAuth 流程。
某些代理使用经典应用程序标识或指定的服务主体,而不是Microsoft Entra代理标识。 这些标识遵循应用程序和服务主体身份验证模型。 不要假设每个服务主体的登录都是代理登录,或者每个代理都使用蓝图。
标识调用方和令牌主体
代理登录属性将调用标识与令牌主体区分开来:
| Property | 所解答的问题 | 使用方法 |
|---|---|---|
agent.agentType |
谁已登录? | 自动健康影响评估选择被归类为 agenticAppInstance 的呼叫者。 |
agent.agentSubjectType |
该令牌是代表谁请求的? | 自主健康影响评估不包括 agentIDuser 对象。 |
agent.parentAppId |
哪个父应用程序与调用方相关联? | 当此值可用时,将代理标识与其蓝图相关联。 |
对于此场景的影响评估,失败事件具有非零agentType、agenticAppInstance为status.errorCode,且agentSubjectType不为agentIDuser。 不要仅凭 isInteractive = false 推断场景,也不要对所有仅限应用程序的事件都要求一个特定的主题值。
注释
代理在使用自己的代理的用户帐户时可以自主运行。 这描述了代理的运作方式,而不是此运行状况场景的选择条件。 具有 agentIDuser 主体的事件将在 Agent ID 交互式登录 下进行调查,而不是在自治运行状况方案下。
运行状况场景不属于登录日志类别
四 种登录日志类型 描述身份验证活动,而不是代理是否独立运行。 对于此方案,请从 服务主体登录开始,而不是 用户登录(交互式) 或 用户登录(非交互式)。
代理的令牌链还可能涉及托管标识或蓝图。 这些相关事件可以帮助诊断较早发生的身份验证失败,但它们不会自动成为自治健康影响评估的一部分。 有关日志类别和代理详细信息,请参阅服务主体登录和Microsoft Entra 智能体 ID日志。
Prerequisites
对每个任务使用最低特权角色。 调查警报的权限不授予更改凭据、应用程序权限或条件访问策略的权限。
- 需要具有 Microsoft Entra P1 或 P2 许可证的租户才能查看运行状况方案信号。
- 需要具有非试用版Microsoft Entra P1 或 P2 许可证以及至少 100 名每月活动用户的租户才能查看警报并接收警报通知。
- 报表读取者 是查看运行状况信号、警报、警报配置和登录日志的最低特权角色。
- Helpdesk Administrator 是可更新警报和警报通知配置的最低权限角色。
- 对于 Microsoft Graph,使用
HealthMonitoringAlert.Read.All读取警报,或使用HealthMonitoringAlert.ReadWrite.All读取并更新警报。 用于AuditLog.Read.All读取登录日志;运行状况警报权限不授予日志访问权限。 - 读取已应用的条件访问策略需要其他权限和受支持的角色。 请参阅 列出 signIns 权限。
有关运行状况角色要求,请参阅Microsoft Entra运行状况最小特权角色。 如果缓解措施需要策略更改,请根据需要另外查看 适用于代理的条件访问 或适用于工作负载标识的条件访问的单独许可和角色要求。
调查信号并发出警报
从异常时间范围和受影响的应用程序开始。 然后确定哪个身份验证和令牌获取阶段失败。
至少以报表读者身份登录到Microsoft Entra 管理中心。
浏览到 Entra ID>监视和运行状况>运行状况,然后选择 运行状况监视。
选择 代理 ID 自主登录。如果该场景未在活动警报中列出,请选择 所有场景 以查看其检测信号。
查看 代理 ID 自治登录完成量 和 代理 ID 自治登录失败量 图。 将更改与计划的工作负荷、部署和预期代理活动进行比较。
选择一个处于活动状态的 Agent ID 自主登录失败次数大幅增加 警报。 记录异常时间范围并查看其信号和受影响的应用程序。
在“受影响的实体”下,为应用程序选择“查看”。 使用受影响的应用程序标识符缩小调查范围。 自治影响评估按
appId对应用程序进行分组;它不会生成受影响的用户或设备列表。 应用程序计数不是失败的令牌请求计数。浏览到 Entra ID>Agents,然后在“Agents”边栏选项卡中选择 登录日志。 选择 服务主体登录,将日期范围设置为异常时间范围,并将 状态 筛选为 失败。
将受影响的应用程序与单个事件相关联。
appId查看、servicePrincipalId代理属性、目标资源、错误代码、失败原因、凭据类型和条件访问结果。 展开分组日志行以检查单个请求。查看最近凭据、联合信任、应用程序权限、标识状态或策略更改的 审核日志 。 对于代理身份,请检查受影响的代理是否共享蓝图。
如果一个蓝图中的多个代理同时失败,请在单独更改每个代理之前调查共享凭据和蓝图范围的策略。 影响一个资源的故障可能会涉及该资源的配置或权限。 确认日志中的任一说明;仅凭故障数量不能证明发生了服务中断或攻击。
将警报与Microsoft Graph相关联
检索所选警报并展开其受影响的资源示例。 用警报的 ID 替换 {alertId}。 请参阅 “获取运行状况监视警报”。
GET https://microsoftgraph.chinacloudapi.cn/beta/reports/healthMonitoring/alerts/{alertId}?$expand=enrichment/impacts/microsoft.graph.healthmonitoring.directoryobjectimpactsummary/resourceSampling
Prefer: include-unknown-enum-members
将 getSummarizedServicePrincipalSignIns 用于聚合的服务主体活动。 以下请求使用文档中记录的应用程序筛选器。 用受影响的应用程序的 appId 替换 {application-client-id},而不是其服务主体对象 ID。
GET https://microsoftgraph.chinacloudapi.cn/beta/auditLogs/getSummarizedServicePrincipalSignIns(aggregationWindow='h1')?$filter=appId eq '{application-client-id}'
Prefer: include-unknown-enum-members
遵循响应中返回的任何 @odata.nextLink 内容。 在返回的数据中,选择与前面所述的调用方和使用者条件匹配的失败行。 使用 servicePrincipalId 标识特定的服务主体,并在 parentAppId 可用时将代理与其蓝图相关联。
summarizedSignIn 资源按多个维度对事件进行分组。 对请求量使用 signInCount;不要将每一行计为一次单独登录或一个唯一应用程序。 聚合和日志可用性可能与运行状况图不同,因此不要期望总计完全匹配。
对于单个事件,请显式请求服务主体事件类型,并将示例 UTC 时间戳替换为您的调查时间范围。 如果没有事件类型筛选器, List signIns API 默认仅返回交互式用户登录。
GET https://microsoftgraph.chinacloudapi.cn/beta/auditLogs/signIns?$filter=createdDateTime ge 2026-10-05T10:00:00Z and createdDateTime lt 2026-10-05T11:00:00Z and signInEventTypes/any(t: t eq 'servicePrincipal')
Prefer: include-unknown-enum-members
将返回的事件与受影响的应用程序、代理属性和非零错误代码相关联。 标头 Prefer 允许你接收其他可演变的枚举值,而不是解释 unknownFutureValue 为特定的标识类型。
注释
这些Microsoft Graph示例使用/beta。 Beta API 可能会更改,且不支持用于生产应用程序。
缓解常见问题
从匹配事件的错误代码和失败原因中选择缓解措施,而不仅仅是警报标题。 以下问题是调查的切入点,而不是最频繁失败的排名列表。 有关错误含义,请参阅Microsoft 标识平台错误参考。
凭据无效或已过期
AADSTS7000215 指示客户端密钥无效。
AADSTS7000222 表示已过期的客户端机密密钥。 对于基于证书的身份验证,请检查事件的失败原因和证书配置,而不要假设这是机密错误。
- 让代理开发人员识别失败的令牌请求、其客户端 ID 和配置的凭据。 有关代理标识,请检查蓝图凭证。 对于经典应用程序身份,请检查应用程序的凭据。
- 更正无效凭据或通过批准的部署过程轮换过期的凭据。 不要直接将凭据添加到代理标识或代理的用户帐户。
- 在从部署中删除旧凭据之前,使用替换凭据验证令牌获取。 如果多个子代理共享蓝图,请验证受影响代理的恢复。
使用受支持的托管标识联合身份验证,而不是生产环境中的客户端机密。 请参阅 配置自治代理凭据。
联合标识信任与提供的断言不匹配
AADSTS70021 可以指示未找到针对所呈现断言的匹配联合标识记录。 最近配置的凭据可能需要时间来传播。 请参阅 工作负载身份联合身份验证注意事项。
- 确定失败的交换阶段。 将所呈现断言的颁发者、主体和受众与预期的联合标识凭据进行比较。 收集诊断信息时不要共享令牌或凭据。
- 对于代理标识,请验证蓝图客户端 ID、
fmi_path中的子代理客户端 ID 以及父子关系。 蓝图只能模拟为其子代理身份。 - 更正特定的信任关系不匹配。 在最近更改信任设置后,请等待更改生效,并进行受控重试。 重复重试永久不匹配的断言不会修复配置。
有关特定于代理的令牌链,请参阅 代理自治应用 OAuth 流。 有关托管标识信任配置,请参阅 配置应用程序以信任托管标识。
应用程序缺失、被禁用,或在错误的租户中被请求
AADSTS700016 指示在请求的租户中找不到应用程序。
AADSTS7000112 表示应用程序已禁用。
AADSTS500011 指示在租户中找不到资源服务主体。
- 将请求的租户、客户端 ID 和资源与预期部署进行比较。 区分蓝图客户端 ID、子代理客户端 ID、应用程序对象 ID 和服务主体对象 ID。
- 查看受影响的标识,对于代理标识,还要查看其蓝图。 检查与禁用或删除相关的审核事件。 禁用蓝图可防止其子代理标识通过身份验证。
- 要求标识所有者更正错误的标识符或目录。 如果某个标识因事件响应或治理需要而被有意禁用,请不要在未经批准的情况下重新启用它。
条件访问会阻止代理程序
AADSTS53003 表示条件访问阻止了令牌颁发。 新实施的阻止策略、代理风险或意外的策略分配可以解释失败增加。
- 查看失败事件的 条件访问 详细信息、策略结果和目标资源。 检查代理标识或其蓝图的策略分配,包括审批属性和排除项。
- 查看最近的政策变更和风险信息。 如果代理使用经典服务主体,请使用工作负载标识策略指南,而不要假设特定于代理的定向规则适用。
- 保留有意设置的安全拦截。 要求策略所有者仅更正意外的范围或配置,并在适当情况下在强制实施之前查看仅报告模式下的建议更改。
不要要求仅应用程序标识的代理完成人工 MFA 提示,或使其使用委派权限绕过该阻止。 请参阅 使用条件访问保护自治代理。
资源访问或应用程序权限配置不当
AADSTS650056 描述配置不当的应用程序,并且可能涉及权限、许可、标识符或证书。 使用完整的错误详细信息来标识原因。 对于仅限应用程序的访问权限,委派的用户同意不能替代所需的应用程序权限。
- 验证请求的资源和范围。 代理应用程序专用令牌请求使用该资源的
/.default范围。 - 要求授权管理员查看所需的应用程序权限、应用角色分配以及从蓝图继承的任何权限。 声明所需的权限本身不会授予访问权限。
- 请仅更正缺失或意外的授权,然后重试该操作。
成功颁发令牌后,下游 API 403 可能表示授权不足;这并不会自动被此运行状况信号计为登录失败。 如果登录成功但操作失败,请单独调查资源授权和 API 响应。 请参阅 向自治代理授予应用程序权限 和 可继承权限。
确认恢复
在排除根本原因后,确认受影响的应用程序和资源的新登录事件成功,并且失败量恢复到接近预期模式。 验证代理的预期操作以及令牌获取。 考虑将新日志与运行状况图进行比较时的处理延迟。
仅在调查警报后将其标记为已忽略。 消除警报不会还原凭据、权限或令牌颁发。 有关警报状态和通知指南,请参阅调查Microsoft Entra运行状况监视警报和配置运行状况警报通知。