如何通过Az Cli为Azure AD B2C应用添加Microsoft Graph API权限
实现方案
你可以通过az ad app create命令的--required-resource-accesses参数在创建应用时直接绑定Microsoft Graph API权限,具体操作如下:
前置说明
先提供配置需要用到的全局固定值:
- Microsoft Graph API的资源应用ID:
00000003-0000-0000-c000-000000000000 - 你需要的两个应用类型权限的ID:
- User.ReadWrite.All:
df021288-bdef-4463-88db-98f22de89214 - Application.ReadWrite.All:
1bfefb4e-e0b5-418b-a88f-783d202c8785
上述权限type为Role对应应用权限,若需要委托权限请将type改为Scope,并替换为对应委托权限的ID
- User.ReadWrite.All:
方法1:创建应用时直接配置权限
首先构造权限配置JSON,你可以将以下内容保存为manifest.json文件:
[ { "resourceAppId": "00000003-0000-0000-c000-000000000000", "resourceAccess": [ { "id": "df021288-bdef-4463-88db-98f22de89214", "type": "Role" }, { "id": "1bfefb4e-e0b5-418b-a88f-783d202c8785", "type": "Role" } ] } ]
然后执行创建命令即可完成应用创建+权限配置:
az ad app create --display-name 'mytestapplication' --required-resource-accesses @manifest.json
如果不想单独创建配置文件,也可以直接将JSON嵌入命令执行(适配Linux/macOS环境):
az ad app create --display-name 'mytestapplication' --required-resource-accesses '[{"resourceAppId":"00000003-0000-0000-c000-000000000000","resourceAccess":[{"id":"df021288-bdef-4463-88db-98f22de89214","type":"Role"},{"id":"1bfefb4e-e0b5-418b-a88f-783d202c8785","type":"Role"}]}]'
方法2:已有应用追加配置权限
如果应用已经创建完成,可以用更新命令追加权限配置:
- 先获取目标应用的ID:
APP_ID=$(az ad app list --display-name "mytestapplication" --query "[].appId" -o tsv)
- 执行更新命令,依然使用上面构造的
manifest.json文件:
az ad app update --id $APP_ID --required-resource-accesses @manifest.json
权限生效操作
所有配置的API权限都需要管理员授予同意才会正式生效,你可以直接通过CLI完成全局管理员同意:
az ad app permission admin-consent --id $APP_ID
内容的提问来源于stack exchange,提问作者hitman126
相关产品推荐
相关产品推荐

