Microsoft Entra 代理身份
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/entra-agent-id。
技能介绍
要解决什么问题
AI 代理要在 Microsoft 365 / Entra 里以可审计、可授权的身份调用 Graph 与其它 API,不能长期依赖个人用户令牌或 Azure CLI 登录。Microsoft Entra Agent ID 预览能力通过「代理身份蓝图 + BlueprintPrincipal + 代理身份」三层对象,把 OAuth2 客户端凭据、权限范围和管理员同意串成可重复的配置流程。
技能如何工作
本技能围绕 Microsoft Graph /beta 上的 Agent Identity 终结点,说明从认证到创建资源的完整路径:
- 认证:不支持
DefaultAzureCredential;Azure CLI 令牌因含Directory.AccessAsUser.All会被 API 硬拒绝(403)。需用应用注册的 client_credentials,或 PowerShell 下Connect-MgGraph的委托范围。 - 三步核心流程:
1. 创建 Agent Identity Blueprint(POST /applications)— 赞助者必须是 User,ServicePrincipal / Group 会被拒。
2. 创建 BlueprintPrincipal(POST /servicePrincipals)— 强制步骤;只建 Blueprint 不会自动建服务主体,缺此步创建代理身份会报 400: The Agent Blueprint Principal for the Agent Blueprint does not exist。
3. 创建代理身份(POST /servicePrincipals,类型 Microsoft.Graph.AgentIdentity)。
- 权限与头:涉及
Application.ReadWrite.All、AgentIdentityBlueprint.*、AgentIdentity.*等应用权限;请求需带OData-Version: 4.0。管理员同意后权限传播常需 30–120 秒,404/403 时宜退避重试。
技能内还指向 OAuth2 令牌流、29 条已知限制摘要,以及 Entra SDK for AgentID 的 sidecar 部署说明,便于对照官方文档(可通过 microsoft-docs MCP 查询 "Microsoft Entra agent identity setup")。
适用边界与注意点
- 全部 Agent ID 终结点仅在
https://graph.microsoft.com/beta,/v1.0不可用。 - 生产环境建议 工作负载身份联合(WIF);本地开发可在 Blueprint 上使用客户端密钥;使用 OAuth2 范围前需在 Blueprint 上设置
identifierUris(如api://{app-id})。 - 幂等脚本应对 Blueprint 与 BlueprintPrincipal 分别检查再创建(中途崩溃可能导致 Blueprint 已存在但 Principal 未建)。
- 需要 Entra 角色之一:Agent Identity Developer、Agent Identity Administrator 或 Application Administrator。
使用场景
- 在租户预览环境中,为自研 AI 代理按官方三步流程创建 Blueprint、BlueprintPrincipal 与代理身份
- 用 Python 或 PowerShell 编写幂等脚本,在 CI/CD 里批量配置 Graph beta 上的 Agent Identity 资源
- 生产部署前在 Blueprint 上配置 identifierUris 与工作负载身份联合,让代理用 client_credentials 访问受保护 API
- 管理员同意 AgentIdentity 系列应用权限后,处理 403/404 传播延迟并完成代理身份的创建与清理
适合人员
- 负责 AI 代理上线的平台工程师,需要在 Entra 预览 API 下完成可审计的 OAuth2 身份注册
- 管理 Entra 应用权限的身份管理员,需为代理蓝图办理管理员同意并排查 BlueprintPrincipal 缺失导致的 400
- 用 Microsoft Entra SDK for AgentID 做 sidecar 集成的后端开发者,需对照技能里的令牌流与终结点说明配置蓝图
- 维护多环境租户自动化的 SRE,需实现 Blueprint 与 BlueprintPrincipal 分开检查的幂等 Graph 调用脚本