You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过ADF管道Web活动调用Graph API获取Azure AD安全组成员?

通过ADF管道调用Microsoft Graph API获取Azure AD安全组成员

一、前置权限与访问要求

  • Microsoft Graph API权限:需为ADF对应的服务主体分配Application类型的权限,推荐最小权限原则:
    • GroupMember.Read.All:仅读取组成员信息
    • Group.Read.All:读取组及组成员信息
      注:这些权限需由全局管理员或权限管理员完成管理员同意,不能使用用户委托权限(ADF为后台服务调用)。
  • ADF服务主体配置:在Azure AD企业应用中找到ADF对应的服务主体,确认已成功授予上述Graph API权限。

二、ADF管道配置步骤

1. 创建Graph API链接服务

在ADF管理面板中新建Web类型链接服务,配置参数:

  • Base URL:https://graph.microsoft.com/v1.0/
  • Authentication type:选择Service Principal
  • Tenant:填写你的Azure AD租户ID
  • Service Principal ID:ADF服务主体的客户端ID
  • Service Principal Key:服务主体的客户端密钥
  • Resource:必须填写https://graph.microsoft.com/(用于认证身份范围)

2. 构建管道实现成员获取

基础单页调用(成员≤100条)

在管道中添加Web活动,配置:

  • Linked Service:选择刚创建的Graph API链接服务
  • Method:GET
  • URL:groups/{your-group-id}/members(替换{your-group-id}为目标安全组ID)
  • Headers:添加Accept: application/json确保返回JSON格式

分页处理(成员>100条)

Graph API默认每页返回100条数据,需通过循环获取全部成员:

  • 添加Until活动,设置终止条件:@empty(activity('Web_Get_Members').output['@odata.nextLink'])
  • 在Until活动内添加Web活动,动态设置URL:
    • 首次调用用初始URL:groups/{your-group-id}/members
    • 后续调用用分页链接:@activity('Web_Get_Members').output['@odata.nextLink']
  • 搭配Append Variable活动,将每次返回的value数组追加到全局数组变量中,最终得到完整成员列表

三、额外注意事项

  • 定期轮换服务主体密钥,避免因密钥过期导致调用失败
  • 如需获取成员特定属性(如邮箱、部门),可在URL中添加$select参数,示例:groups/{your-group-id}/members?$select=id,displayName,mail,department
  • 测试阶段可先在Graph Explorer中验证API调用有效性,确认权限配置正确

内容的提问来源于stack exchange,提问作者jitender singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 07:21:23