组: evaluateDynamicMembership

命名空间:microsoft.graph

重要

Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。

评估用户或设备是否为动态组的成员。 成员身份规则以及评估中使用的其他详细信息一起返回。 可通过以下方式完成此操作:

  • 评估用户或设备是指定动态组的成员。
  • 根据用户或设备的 ID 以及成员身份规则评估用户或设备是动态组的成员。

此 API 可用于以下国家级云部署

全局服务 美国政府 L4 美国政府 L5 (DOD) 由世纪互联运营的中国

权限

下表显示了对每种受支持的资源类型调用此 API 所需的最低特权权限。 请遵循 最佳做法 来请求最低特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考

使用成员 ID 和组 ID 评估动态成员身份

支持的资源 委派(工作或学校帐户) 委派(个人 Microsoft 帐户) 应用程序
设备 Group.Read.All 和 Device.Read.All 不支持。 不支持。
user Group.Read.All 和 User.Read.All 不支持。 不支持。

使用成员 ID 和成员身份规则评估动态成员身份

支持的资源 委派(工作或学校帐户) 委派(个人 Microsoft 帐户) 应用程序
设备 Device.Read.All 不支持。 不支持。
user User.Read.All 不支持。 不支持。

HTTP 请求

POST /groups/{id}/evaluateDynamicMembership
POST /groups/evaluateDynamicMembership

请求标头

名称 说明
Authorization 持有者 {token}。 必填。 详细了解 身份验证和授权
Content-type application/json

请求正文

在请求正文中,提供所需的属性。

下表列出了评估组成员身份时所需的属性。

参数 类型 说明
memberId 字符串集合 memberId 是要评估的用户或设备的对象 ID。
membershipRule 字符串集合 用于成员资格评估的规则。 如果未提供此属性,则会计算现有组的规则。 如果提供此属性,则会评估用户或设备是否在具有相同规则的组中可能的成员身份。 有关详细信息,请参阅 Microsoft Entra ID 中组的动态成员身份规则

响应

如果成功,此方法将 200 OK 返回响应代码和 evaluateDynamicMembershipResult 对象。

示例

示例 1:评估用户或设备是否是现有组的成员

请求

以下示例显示了一个请求。

POST https://graph.microsoft.com/beta/groups/{id}/evaluateDynamicMembership
Content-type: application/json

{
  "memberId": "319b41e8-d9e4-42f8-bdc9-741113f48b33"
}

响应

以下示例显示了相应的响应。

HTTP/1.1 200 OK
Content-type: application/json

{
  "membershipRule": "(user.displayName -startsWith \"EndTestUser\")",
  "membershipRuleEvaluationResult": true,
  "membershipRuleEvaluationDetails": {
    "expressionResult": true,
    "expression": "user.displayName -startsWith \"EndTestUser\"",
    "propertyToEvaluate": {
      "propertyName": "displayName",
      "propertyValue": "EndTestUser001"
    }
  }
}

示例 2:根据成员身份规则评估用户或设备是否是组的成员

请求

以下示例显示了一个请求。

POST https://graph.microsoft.com/beta/groups/evaluateDynamicMembership
Content-type: application/json

{
  "memberId": "319b41e8-d9e4-42f8-bdc9-741113f48b33",
  "membershipRule": "(user.displayName -startsWith \"EndTestUser\")"
}

响应

以下示例显示了相应的响应。

HTTP/1.1 200 OK
Content-type: application/json

{
  "membershipRule": "(user.displayName -startsWith \"EndTestUser\")",
  "membershipRuleEvaluationResult": true,
  "membershipRuleEvaluationDetails": {
    "expressionResult": true,
    "expression": "user.displayName -startsWith \"EndTestUser\"",
    "propertyToEvaluate": {
      "propertyName": "displayName",
      "propertyValue": "EndTestUser001"
    }
  }
}