azure Add-AzADAppPermission在何处放置Guid?“资源不存在或其查询的引用属性对象之一不存在,”

hgb9j2n6  于 2023-02-05  发布在  其他
关注(0)|答案(1)|浏览(121)

在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,以及它们各自的服务原则。

dly7yett

dly7yett1#

我尝试在我的环境中重现相同的错误,但得到了如下相同的错误:

    • Note即:通过使用Add-AzADAppPermission**,可以将API权限添加到应用程序,但不能将自定义角色添加为API权限。
Add-AzADAppPermission -ObjectId ObjectID -ApiId APIIdofthepermissions -PermissionId GUIDofAPIPermission

我正在尝试添加**Group.Read.All**Microsoft Graph API权限,如下所示:

Add-AzADAppPermission -ObjectId ObjectID -ApiId 00000003-0000-0000-c000-000000000000 -PermissionId 5f8c59db-677d-491f-a6b8-5f174b11ec1d

相关问题