在Azure中,我们使用三个独立的AppRegistrations在AAD中设置OATH2.0凭据。
1:客户端:这是主注册。2:读取:此角色包含AppRole "读取" 3:写入:此角色拥有AppRole "写入"
下面是一些需要澄清的图片:3个注册enter image description here内部AppRole读取:enter image description hereenter image description here
我正在尝试使用powershell将最后两个作为API权限自动添加到第一个中。
我找到了这个命令:Add-AzADAppPermission并仔细查看了以下文档:https://learn.microsoft.com/en-us/powershell/module/az.resources/add-azadapppermission?view=azps-9.3.0
然而,要么我错过了一些东西,或者这可能无法与自定义appregistrations?
我一直收到消息"资源不存在或它的一个查询引用属性对象不存在"。
我已检查我是否在正确的租户上,并且我有足够的权利。
有四个参数要考虑,有些对我来说比其他人更清楚。
- APIid:根据文档,我假设它应该是Client.AppId
- 应用程序ID:可能是来自Read的ObjectId/ApplicationId,但也可能是来自其对应的ServicePrincipal(外部应用程序)?,文档对此不是很清楚。
- ObjectId:可以替换ApplicationId,但我有完全相同的问题。文档没有指定除"Azure AD中的唯一标识符"以外的任何内容。
- 许可ID:文档中说,但在示例中他们使用GUID。我见过其他使用字符串的示例,如"User. Read",所以我认为这可能是我读/写AppRegistrations内AppRole中的DisplayName。
除了文档之外,我还查找了其他示例,但到目前为止,我只找到了关于MsGraph中内置appRoles的示例。
事实上,信息是双重的(要么不存在,要么缺少一些东西)也无济于事。
关键是,我不知道哪个向导去哪。
我已经尝试了参数和AAD Guid的许多组合,无论是AppRegistrations中的ObjectId还是AppId,以及它们各自的服务原则。
1条答案
按热度按时间dly7yett1#
我尝试在我的环境中重现相同的错误,但得到了如下相同的错误:
Note
即:通过使用Add-AzADAppPermission
**,可以将API权限添加到应用程序,但不能将自定义角色添加为API权限。我正在尝试添加**
Group.Read.All
**Microsoft Graph API权限,如下所示: