使用Client Credentials能否创建Service Principal?权限问题咨询
问题解答
错误原因解析
你遇到的"When using this permission, the backing application of the service principal being created must in the local tenant"错误,核心原因是Application.ReadWrite.OwnedBy权限对创建服务主体有明确限制:待创建服务主体对应的应用必须是当前租户本地创建的应用,不能是多租户应用或其他租户的应用。
关于Application Developer角色
这个角色是针对用户账户的权限,你使用的是客户端凭据流(应用身份),所以该角色对你的场景完全不适用,不需要为你的应用分配这个角色。
正确处理方式
- 确认AppTwo的属性配置:创建AppTwo时,确保
signInAudience参数设置为AzureADMyOrg(仅限当前租户),避免将其配置为多租户或关联其他租户的应用。 - 无需单独创建服务主体:使用
Application.ReadWrite.OwnedBy权限通过客户端凭据流创建应用时,MS Graph支持在创建应用的同时自动生成对应的服务主体,无需单独调用POST https://graph.microsoft.com/v1.0/serviceprincipals。只需在创建应用的请求中包含正确的租户范围配置,即可自动完成服务主体的创建。
内容的提问来源于stack exchange,提问作者Vaccano
相关产品推荐
相关产品推荐

