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

如何为用户分配托管身份配置权限以访问Azure AD B2C的Graph API

为用户分配的托管身份配置AD B2C Graph API权限

可以为用户分配的托管身份配置Graph API权限,这类托管身份本质是独立的服务主体,支持授予应用权限(不支持委派权限,因为托管身份是服务身份而非用户身份),可替代客户端密钥调用Graph API获取AD B2C用户信息。

以下是具体操作步骤:

1. 获取用户分配的托管身份的服务主体ID(PrincipalId)

  • Azure Portal方式:进入「托管身份」服务,找到目标用户分配的托管身份,在「概述」页面复制「对象ID」(即服务主体PrincipalId)。
  • PowerShell方式:
    Get-AzUserAssignedIdentity -Name "你的托管身份名称" -ResourceGroupName "所属资源组名称"
    
    从输出中提取PrincipalId字段值。

2. 获取Microsoft Graph的服务主体ID

运行PowerShell命令:

Get-AzADServicePrincipal -ApplicationId "00000003-0000-0000-c000-000000000000"

该ID是Microsoft Graph的固定应用ID,提取输出中的Id字段值。

3. 获取目标Graph权限的ID(以User.Read.All应用权限为例)

运行PowerShell命令筛选所需权限的ID:

Get-AzADServicePrincipal -ApplicationId "00000003-0000-0000-c000-000000000000" | 
  Select-Object -ExpandProperty AppRoles | 
  Where-Object {$_.Value -eq "User.Read.All" -and $_.AllowedMemberTypes -contains "Application"}

从输出中提取Id字段值,这就是User.Read.All应用权限的唯一标识。

4. 为托管身份分配Graph权限

使用PowerShell执行权限分配:

New-AzADAppRoleAssignment `
  -ObjectId "<托管身份的PrincipalId>" `
  -PrincipalId "<托管身份的PrincipalId>" `
  -ResourceId "<Microsoft Graph的服务主体ID>" `
  -Id "<步骤3获取的权限ID>"

可选:Azure Portal可视化操作

  1. 进入AD B2C租户的「企业应用程序」,搜索并打开用户分配的托管身份(它会以服务主体形式存在)。
  2. 切换到「权限」选项卡,点击「添加权限」。
  3. 选择「Microsoft Graph」→ 「应用权限」,找到并勾选需要的权限(如User.Read.All),点击「添加权限」。
  4. 点击「授予管理员同意」(需全局管理员或权限管理员权限),完成权限激活。

注意:操作账号需拥有AD B2C租户的全局管理员、权限管理员或应用程序管理员角色,才能完成权限分配和同意操作。

内容的提问来源于stack exchange,提问作者Donny Kwitty

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 18:25:49