- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Azure AD 租户中有一个企业应用程序,我想检查是否为该应用程序分配了特定组。
要列出应用程序的所有 appRoleAssignments,我可以这样做:
GET/beta/servicePrincipals/{id}/appRoleAssignments
其中 {id}
是企业应用程序的 ID。这将返回 appRoleAssignment 的列表对象。我想在特定组中过滤此列表,因为该列表可能非常大。我尝试使用 $filter
查询参数,但似乎无法正常工作。我尝试了以下方法:
$filter=principalId eq '{groupId}'
这是行不通的。我收到此错误消息:
{
"error": {
"code": "BadRequest",
"message": "Invalid filter clause",
"innerError": {
"request-id": "<id>",
"date": "<date>"
}
}
}
有什么方法可以过滤列表吗?
我可以通过执行以下请求获取组分配到的所有 appRoleAssignments,以相反的方式执行此操作:
GET/beta/groups/{groupId}/appRoleAssignments
但我在这里似乎遇到了同样的问题,无法使用 $filter
来过滤我要检查的特定企业应用程序。
如果过滤不起作用,是否有任何其他端点可以使用,这样我就不必在客户端中进行分页了?
最佳答案
是的,这是可能的。
这里的混淆是由于在 Microsoft Graph beta 中,principalId
和 resourceId
AppRoleAssignment
的属性实体声明为 Edm.Guid
,而不是更熟悉的Edm.String
.
要检索给定组的所有应用角色分配,给定资源应用,使用 Microsoft Graph API(使用换行符以确保易读性):
GET https://graph.microsoft.com/beta/groups/{group-id}/appRoleAssignments
?$filter=resourceId eq {resource-id}
地点:
{group-id}
是组的对象ID{resource-id}
是资源应用的服务主体对象IDImportant: Note the absence of single quotes (
'
) surrounding{resource-id}
. This is required when the attribute being filtered on is of typeEdm.Guid
.
使用示例值,此查询如下所示:
GET https://graph.microsoft.com/beta/groups/75c647eb-8ff0-478d-b131-6c1bd4071841/appRoleAssignments
?$filter=resourceId eq ddd57b26-e13e-4db4-93d3-996f382251df
我还想借此机会澄清我在问题中注意到的一个可能的混淆。使用 Microsoft Graph 测试版:
appRoleAssignments
用户、组和服务主体的导航将返回已授予用户、组或服务主体的应用程序角色分配(即用户/组/服务主体是返回的 principalId
的 AppRoleAssignment
)。<appRoleAssignedTo
在服务主体上导航将返回应用角色分配,其中相关服务主体是公开应用角色的资源应用(即,服务主体是返回的 resourceId
的 AppRoleAssignment
)。Note: In general, the recommendation is to use Microsoft Graph. Only use Azure AD Graph if the capability is not available on Microsoft Graph v1.0 and you require a production-ready API. You should plan to move to Microsoft Graph as soon as the capability is made available in v1.0.
要使用 Azure AD Graph API(使用换行符以确保易读性)检索给定组的所有应用角色分配给给定资源应用:
GET https://graph.windows.net/{tenant-id}/groups/{group-id}/appRoleAssignments
?$filter=resourceId eq guid'{resource-sp-id}'
&api-version=1.6
地点:
{tenant-id}
是租户ID还是经过验证的域名{group-id}
是组的对象ID{resource-sp-id}
是资源应用的服务主体对象ID关于microsoft-graph-api - 如何在 Microsoft Graph API 中筛选 appRoleAssignments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59287061/
我正在尝试使用以下代码添加 AppRoleAssignment: AppRoleAssignment objAppRoleAssignment = new AppRoleAssignment()
我正在使用 Azure AD 在 MVC 应用程序上提供身份验证服务。我正在使用 Graph API 成功管理用户帐户。我正在尝试向用户添加 AppRoleAssignment。 string ten
我正在使用 Azure AD 在 MVC 应用程序上提供身份验证服务。我正在使用 Graph API 成功管理用户帐户。我正在尝试向用户添加 AppRoleAssignment。 string ten
我尝试将 appRole 分配给 servicePrincipal 并得到一些奇怪的响应:网址是 https://graph.microsoft.com/beta/servicePrincipals/
我正在尝试通过图形 API 将用户分配给 azure Active Directory 应用程序。根据documentation我已将权限分配给我的应用程序并授予管理员同意。向应用程序授予以下权限。
在 Azure AD 中,我设置了 SCIM,效果很好。但是,由于某种原因,roles 以及 appRoleAssignments 永远不会在 SCIM POST 或 PATCH 请求的正文中发送.
根据 this documentation您应该能够通过 Microsoft Graph 创建 appRoleAssignment,但这不起作用。在 GitHub issue我被指示在这里创建问题。我
我在 Azure AD 租户中有一个企业应用程序,我想检查是否为该应用程序分配了特定组。 要列出应用程序的所有 appRoleAssignments,我可以这样做: GET/beta/serviceP
我正在尝试弄清楚如何使用 Azure Active Directory 的图形 API 从组或用户中删除 AppRoleAssignment。我正在使用 .NET SDK (Microsoft.Azu
我是一名优秀的程序员,十分优秀!