创建 roleEligibilityScheduleRequests

命名空间:microsoft.graph

重要

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

创建新的 unifiedRoleEligibilityScheduleRequest 对象。 此操作允许管理员和符合条件的用户添加、撤销或扩展符合条件的分配。

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

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

权限

为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) RoleEligibilitySchedule.ReadWrite.Directory RoleManagement.ReadWrite.Directory、RoleManagement.ReadWrite.Directory
委派(个人 Microsoft 帐户) 不支持。 不支持。
应用程序 RoleEligibilitySchedule.ReadWrite.Directory RoleManagement.ReadWrite.Directory、RoleManagement.ReadWrite.Directory、RoleManagement.ReadWrite.Directory

在具有工作或学校帐户的委托方案中,必须为登录用户分配受支持的 Microsoft Entra 角色 或具有支持的角色权限的自定义角色。 此操作支持以下最低特权角色。

  • 对于读取操作:全局读取者、安全操作员、安全读取者、安全管理员或特权角色管理员
  • 对于写入操作:特权角色管理员

HTTP 请求

POST /roleManagement/directory/roleEligibilityScheduleRequests

请求标头

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

请求正文

在请求正文中,提供 unifiedRoleEligibilityScheduleRequest 对象的 JSON 表示形式。

下表显示了创建 unifiedRoleEligibilityScheduleRequest 时的可选属性和必需属性。

属性 类型 说明
action String 表示对角色资格分配的操作的类型。 可能的值有:
  • AdminAssign:供管理员将角色资格分配给用户或组的角色。
  • AdminExtend:供管理员延长即将到期的工作分配。
  • AdminUpdate:供管理员更改现有角色分配。
  • AdminRenew:供管理员续订过期的分配。
  • AdminRemove:供管理员从符合条件的角色中删除用户或组。
  • UserAdd:供用户激活其符合条件的分配。
  • UserExtend:供用户请求延长其即将过期的合格分配。
  • UserRemove:让用户停用其有效的合格分配。
  • UserRenew:供用户请求续订其过期的合格分配。
appScopeId String 当分配范围特定于应用时,特定于应用的范围的标识符。 分配的范围确定已向其授予主体访问权限的资源集。 应用范围是仅此应用程序定义和理解的范围。 用于 / 租户范围的应用范围。 使用 directoryScopeId 将范围限制为特定的目录对象,例如管理单元或所有用户。
directoryScopeId String 表示分配范围的目录对象的标识符。 分配的范围确定已向其授予主体访问权限的资源集。 目录范围是存储在目录中的共享范围,可由多个应用程序理解。 用于 / 租户范围。 使用 appScopeId 将范围限制为仅应用程序。
isValidationOnly 布尔值 确定调用是验证还是实际调用的布尔值。 仅当想要在实际提交请求之前检查激活是否受其他规则(如 MFA)的约束时,才设置此属性。
理由 String 用户和管理员在创建请求时提供的消息,说明为何需要该请求。 操作为 时可选AdminRemove
principalId String 向其授予工作分配的主体的标识符。 例如,用户或组。 对于组,它们必须可分配给角色,即设置为 true的组属性的 isAssignableToRole
roleDefinitionId String 分配所针对的 unifiedRoleDefinition 的标识符。 必填。 只读。
scheduleInfo requestSchedule 角色分配请求的计划对象。 当 操作AdminRemove时,不需要此属性。
ticketInfo ticketInfo 附加到角色分配请求的 ticketInfo 对象,其中包括票证编号和票证系统的详细信息。 可选。

响应

如果成功,此方法在响应正文中返回响应 201 Created 代码和 unifiedRoleEligibilityScheduleRequest 对象。

示例

示例 1:管理员分配角色资格计划请求

在以下请求中,管理员创建一个请求,将由 fdd7a751-b60b-444a-984c-02652fe8fa1c 标识的角色的资格分配给由 ID07706ff1-46c7-4847-ae33-3003830675a1 标识的主体。资格范围是 2022 年 6 月 30 日 UTC 时间午夜之前租户中的所有目录对象。

请求

POST https://graph.microsoft.com/beta/roleManagement/directory/roleEligibilityScheduleRequests
Content-Type: application/json

{
  "action": "AdminAssign",
  "justification": "Assign User Admin eligibility to IT Helpdesk (User) group",
  "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
  "directoryScopeId": "/",
  "principalId": "07706ff1-46c7-4847-ae33-3003830675a1",
  "scheduleInfo": {
    "startDateTime": "2021-07-01T00:00:00Z",
    "expiration": {
      "endDateTime": "2022-06-30T00:00:00Z",
      "type": "AfterDateTime"
    }
  }
}

响应

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

注意:为了提高可读性,可能缩短了此处显示的响应对象。

HTTP/1.1 201 Created
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleEligibilityScheduleRequests/$entity",
    "id": "672c03bf-226a-42ec-a8b7-3bfab96064a1",
    "status": "Provisioned",
    "createdDateTime": "2021-07-26T18:08:03.1299669Z",
    "completedDateTime": "2021-07-26T18:08:06.2081758Z",
    "approvalId": null,
    "customData": null,
    "action": "AdminAssign",
    "principalId": "07706ff1-46c7-4847-ae33-3003830675a1",
    "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
    "directoryScopeId": "/",
    "appScopeId": null,
    "isValidationOnly": false,
    "targetScheduleId": "672c03bf-226a-42ec-a8b7-3bfab96064a1",
    "justification": "Assign User Admin eligibility to IT Helpdesk (User) group",
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "displayName": null,
            "id": "fc9a2c2b-1ddc-486d-a211-5fe8ca77fa1f"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2021-07-26T18:08:06.2081758Z",
        "recurrence": null,
        "expiration": {
            "type": "afterDateTime",
            "endDateTime": "2022-06-30T00:00:00Z",
            "duration": null
        }
    },
    "ticketInfo": {
        "ticketNumber": null,
        "ticketSystem": null
    }
}

示例 2:管理员删除现有角色资格计划请求

在以下请求中,管理员创建一个请求,以撤销由 fdd7a751-b60b-444a-984c-02652fe8fa1c 标识的角色对 ID07706ff1-46c7-4847-ae33-3003830675a1 标识的主体的资格。

请求

POST https://graph.microsoft.com/beta/roleManagement/directory/roleEligibilityScheduleRequests
Content-Type: application/json

{
    "action": "AdminRemove",
    "justification": "Assign User Admin eligibility to IT Helpdesk (User) group",
    "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
    "directoryScopeId": "/",
    "principalId": "07706ff1-46c7-4847-ae33-3003830675a1",
    "scheduleInfo": {
        "startDateTime": "2021-07-26T18:08:06.2081758Z",
        "expiration": {
            "endDateTime": "2022-06-30T00:00:00Z",
            "type": "AfterDateTime"
        }
    }
}

响应

以下示例显示了相应的响应。 请求返回一个响应对象,该对象将以前符合条件的分配的状态更改为 Revoked。 主体将不再看到其以前符合条件的角色。

注意:为了提高可读性,可能缩短了此处显示的响应对象。

HTTP/1.1 201 Created
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleEligibilityScheduleRequests/$entity",
    "id": "7f88a144-f9a9-4f8c-9623-39c321ae93c2",
    "status": "Revoked",
    "createdDateTime": "2021-08-06T17:59:12.4263499Z",
    "completedDateTime": null,
    "approvalId": null,
    "customData": null,
    "action": "AdminRemove",
    "principalId": "07706ff1-46c7-4847-ae33-3003830675a1",
    "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
    "directoryScopeId": "/",
    "appScopeId": null,
    "isValidationOnly": false,
    "targetScheduleId": null,
    "justification": "Assign User Admin eligibility to IT Helpdesk (User) group",
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "displayName": null,
            "id": "fc9a2c2b-1ddc-486d-a211-5fe8ca77fa1f"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2021-07-26T18:08:06.2081758Z",
        "recurrence": null,
        "expiration": {
            "type": "afterDateTime",
            "endDateTime": "2022-06-30T00:00:00Z",
            "duration": null
        }
    },
    "ticketInfo": {
        "ticketNumber": null,
        "ticketSystem": null
    }
}