如何获取激活EntraID身份治理生命周期工作流的用户UPN?
获取触发EntraID身份治理生命周期工作流的用户UPN方法
针对你的场景,有两种可靠的自动获取触发用户UPN的方式:
1. 从Custom Extension的请求上下文提取
当EntraID生命周期工作流通过Custom Extension触发Logic App时,请求体中会包含触发工作流的用户信息,你可以直接在Logic App中解析获取:
- 在Logic App的HTTP触发器中,通过表达式
triggerBody()['data']['initiatedBy']['userPrincipalName']提取触发用户的UPN - 提取后可将该UPN作为参数传递给后续的Automation Runbook,或直接在Logic App中用于发送错误通知邮件
2. 通过Graph API查询工作流运行实例
如果需要在Runbook中获取触发用户UPN,可以调用Microsoft Graph API查询对应工作流运行实例的详情:
- 确保执行调用的身份(如Automation Account的托管身份)拥有
LifecycleWorkflows.Read.All权限 - 调用接口:
GET /identityGovernance/lifecycleWorkflows/workflows/{workflowId}/runs/{runId} - 从响应的
initiatedBy.userPrincipalName字段中获取触发用户的UPN - 注:workflowId和runId可通过Custom Extension传递给Logic App,再由Logic App传递给Runbook
补充说明
不建议让HR用户手动输入UPN作为触发参数,会增加操作成本且容易出错,优先采用上述两种自动获取方式。
内容的提问来源于stack exchange,提问作者Shawn
相关产品推荐
相关产品推荐

