如何通过Azure Logic App获取Azure AD全局管理员列表?
获取Azure AD全局管理员用户列表(Logic App实现)
由于Azure AD连接器的GetUser操作仅返回基础用户属性,且Logic App无直接获取管理员列表的内置操作,可通过调用Microsoft Graph API实现需求,步骤如下:
1. 确定全局管理员角色的固定模板ID
全局管理员对应的角色模板ID为固定值:62e90394-69f5-4237-9190-012177145e10,无需额外查询,可直接用于API调用。
2. 在Logic App中添加HTTP连接器
添加一个HTTP操作,配置参数如下:
- 请求方法:
GET - 请求URI:
https://graph.microsoft.com/v1.0/directoryRoles/roleTemplateId('62e90394-69f5-4237-9190-012177145e10')/members - 身份验证:选择
Active Directory OAuth,配置项:- 租户:你的Azure AD租户ID或域名
- 受众:
https://graph.microsoft.com - 客户端ID:Logic App系统分配/用户分配的托管标识客户端ID
- 凭据类型:
Managed Identity
3. 配置API权限
给Logic App的托管标识授予Microsoft Graph的应用权限:
- 权限类型:
Directory.Read.All(必须选应用权限,委托权限无法支持Logic App后台运行场景) - 操作路径:Azure AD后台 →「应用注册」→ 找到Logic App对应的身份 →「API权限」→ 添加权限 → 选择Microsoft Graph → 应用权限 → 搜索
Directory.Read.All并添加 → 点击「授予管理员同意」。
4. 解析结果并发送邮件
- Graph API返回的
value数组包含所有全局管理员的用户对象,可提取mail、displayName等字段。 - 添加邮件发送操作(如
Office 365 Outlook - Send email),将解析后的用户邮箱填入「收件人」栏,按需设置邮件主题与内容。
补充说明
- 若需获取其他类型管理员(如Exchange管理员),可替换对应的角色模板ID(通过
GET https://graph.microsoft.com/v1.0/directoryRoleTemplates查询所有角色模板)。 - 若返回403错误,检查托管标识的权限是否已正确授予并完成管理员同意。
内容的提问来源于stack exchange,提问作者SRP
相关产品推荐
相关产品推荐

