mcpField
A
agent-identity-governance

agent-identity-governance

github.com/vinayaklatthe安全17845 次安装19 周前更新
代码仓库

关于 agent-identity-governance

面向管理 Microsoft 环境中 AI Agent 与非人类身份的治理技能,涵盖所有权、权限、凭据、审查、生命周期、监控和事件响应。

主要功能

  1. 01身份清点与所有权标记
  2. 02权限范围控制与凭据卫生
  3. 03访问审查与生命周期工作流
  4. 04审计监控与事件响应

适用场景

  1. 01审查 Copilot Studio 和 Foundry Agent 身份
  2. 02用联合身份或证书替换长期密钥
  3. 03建立 Agent 停用与清理工作流
  4. 04调查疑似 Agent 身份遭入侵事件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/vinayaklatthe/microsoft-security-skills --skill agent-identity-governance

安装后在 Claude Code 中输入/agent-identity-governance确认已加载。

详细介绍

AI Agent 和非人类身份治理

AI Agent——Microsoft 365 Copilot Studio Agent、Microsoft Foundry Agent、自定义构建的 Agent,以及传统服务主体和托管标识——如今已成为大多数租户中增长最快的身份群体。它们会进行身份验证、持有权限、代表用户(或自身)执行操作,而且通常缺乏足够的治理。

此技能是这些身份的生命周期治理层:所有权、范围界定、凭据卫生、审查、停用和事件响应。

何时使用

为 Agent / NHI 群体建立或完善治理——Copilot Studio Agent、Foundry Agent、自定义大模型 Agent,以及为它们提供支持的服务主体。

请勿将此技能用于仅涉及工作负载身份联合的模式 (entra-workload-identity)、人类身份治理(entra-id-governance)或通用 Agent 构建指南。

Agent 身份清单——了解治理对象

类别身份模型管理界面
Copilot Studio Agent(M365)租户范围的 Agent 身份 + 每用户委派权限M365 管理中心 / Copilot Studio
Microsoft Foundry Agent服务主体 + 托管标识 + 每用户 OBOAzure 门户 / Foundry
自定义 AI Agent(你的代码)应用注册 + 工作负载身份联合 / 托管标识Entra 管理中心
插件 / 连接器服务主体 + 委派 / 应用 Graph 权限Entra 管理中心
旧版自动化服务主体应用注册,通常使用密钥Entra 管理中心

方法

  1. 清点并标记。 获取所有应用注册、服务主体以及 Copilot Studio / Foundry Agent。为每个对象标记:

    • 负责人(个人 + 群组)。
    • 发起人 / 业务负责人。
    • 用途(一句话说明)。
    • 数据范围(涉及哪些租户 / 站点 / 邮箱 / 资源)。
    • 生命周期阶段(试点 / 生产 / 停用)。
    • 关键性(第 0 / 1 / 2 级)。 孤立身份 → 冻结;要求负责人重新认领。
  2. 严格限定权限范围。

    • Microsoft Graph:优先使用 Sites.Selected,而非 Sites.Read.All;优先使用通过 Application Access Policy 限定邮箱范围,而非 Mail.Send;优先使用自定义安全属性,而非宽泛的目录角色。
    • Azure:在资源组或资源级别限定角色分配范围;除非确有需要,否则绝不授予订阅 Owner 角色。
    • Copilot Studio Agent 知识源:明确列出站点 / 库,不要选择“所有 SharePoint”。
    • Foundry Agent 工具:只保留所需工具;除非必要,否则移除 http 插件。
  3. 凭据卫生。 新构建中不使用客户端密钥 — 使用联合凭据(GitHub Actions、Azure DevOps、AKS、外部 OIDC),或使用通过 Key Vault 自动轮换的证书。对于现有密钥:清点、将有效期限制在 180 天以内、通过自动化轮换,并规划迁移到联合身份验证。

  4. 为工作负载启用条件访问(Workload Identities Premium)。应用于第 0 级 Agent 和可从外部调用的 Agent:

    • 限制源 IP 范围。
    • 阻止旧版身份验证。
    • 要求使用命名位置。 不要尝试应用于租户中的每个 SP — 重点关注影响范围大的身份。
  5. 通过 Entra ID Governance 对 Agent 进行访问评审。 负责人每季度评审:

    • 是否仍然需要?
    • 范围是否仍然合适?
    • 凭据是否已按时轮换?
    • 负责人 / 发起人是否仍在该岗位? 负责人未响应时自动禁用。
  6. 生命周期工作流。 构建自动化流程,用于:

    • 预配:负责人发起请求 → 审批 → 使用模板权限创建 SP、添加标记并指定负责人。
    • 修改:更改范围必须重新审批。
    • 停用:禁用 30 天后删除;移除角色分配、联合凭据和知识源关联。
  7. 审计和监控。

    • 将 ServicePrincipalSignInLogs 和 AuditLogs 流式传输到 Sentinel。
    • 对于 Copilot Studio Agent:通过 Purview Audit 获取交互审计日志。
    • 检测项:
      • 向 Agent 身份分配新的高权限角色。
      • Agent 从意外的 IP / 国家或地区登录。
      • 每个 Agent 的 Graph API 调用量突然激增。
      • Agent 在工作时间以外访问敏感数据。
      • 由非负责人身份向 Agent 添加新凭据。
  8. Agent 遭到入侵时的事件响应。

    1. 禁用身份(在应用注册 / SP 上阻止登录)。
    2. 轮换凭据,撤销刷新令牌。
    3. 追查 Agent 身份在过去 7–30 天内执行的操作 (Graph 审计、资源活动)。
    4. 通知数据负责人,告知 Agent 曾访问过的资源。
    5. 查明根本原因(密钥泄露?OAuth 同意钓鱼?供应链问题?)。
    6. 收紧范围后恢复或停用。
  9. 结合使用情况信号。 Purview AI Hub / DSPM for AI 显示 Agent 做了什么(敏感数据如何流经提示词)。结合身份审计,获得完整视图。

防护措施

  • 每个 Agent 身份都必须有明确的人工负责人。 负责人列表为空 = 孤立身份 = 审计/安全风险。
  • 新身份不得使用客户端密钥。 联合身份验证 > 证书 > 密钥。
  • 存在 Sites.Selected(及类似机制)时必须使用。 “先用 .All 快速启动, 之后再限定范围”最终永远不会限定范围。
  • 工作负载的条件访问需要单独的许可证。 设计前确认 SKU。
  • 新 Agent 的 OAuth 同意必须经过管理员审核。 让最终用户同意高权限范围, 相当于让 Agent 通过钓鱼式引导入驻。
  • 停用 ≠ 1 天后删除。 30 天的停用窗口可以发现“等等,这个好像还有地方在用”。
  • Agent 凭据不能供人使用。 不要为了“方便调试”而与团队共享 Agent 的密钥。
  • 为 Agent 标记数据范围和层级。 缺少这些信息,事件响应和审查只能靠猜。

常见反模式

  • “基于‘All SharePoint’的 Copilot Studio Agent” — 与 Copilot 本身存在相同的过度共享问题, 只是规模更大。请使用限定到特定站点的知识源。
  • “Agent SP 获得了租户范围的 Mail.Send 应用程序权限” — 可以冒充任何人发送邮件。 使用应用程序访问策略,将范围限定到特定邮箱。
  • “负责人字段设置为已离职人员的帐户” — 身份被孤立,既无人审查,也无人轮换。
  • “Agent 代码中包含长期有效的客户端密钥” — Git 历史会永久保留;等检测到泄露时已经太晚。
  • “所有 Agent 都属于 tier-0,因为‘它们都很重要’” — 审查和事件响应工作看似统一, 实际上质量一律低下。请进行真实的分级。
  • “通过删除应用注册来停用,却留下角色分配” — RBAC 中留下悬空的主体 ID;使用相同 ID 恢复时会有风险。
  • “未审计 Copilot Studio Agent 的交互” — 被入侵的 Agent 会在无人察觉的情况下执行操作。
  • “将 Agent 身份治理视同人工身份治理” — 生命周期、控制措施和审查方式都不同。

示例提示词

  • 盘点租户中的所有 Copilot Studio Agent、Foundry Agent 和服务主体,并生成包含负责人 + 范围 + 层级的报告。
  • 通过 Entra ID Governance,为 600 个 Agent 身份按季度推出访问审查。
  • 将 HR 的 Copilot Studio Agent 范围从“All SharePoint”限定到 4 个特定知识站点。
  • 构建停用工作流:停用 30 天、通知负责人,并彻底清理 RBAC 和联合凭据。
  • 针对 Agent 身份泄露配置 Sentinel 检测:新凭据、异常登录、Graph 调用激增。
  • 事件响应手册:遭入侵的 Foundry Agent 连续 48 小时调用 Microsoft Graph —— 遏制、搜寻、通知。
  • 将 120 个旧版自动化 SP 中的客户端密钥替换为工作负载身份联合或 Key Vault 证书。
  • 对所有 tier-0 Agent 应用工作负载身份的条件访问。

Microsoft Learn

评论

支持 Markdown