创建 roleEligibilityScheduleRequest

命名空间:microsoft.graph

在 PIM 中,通过 unifiedRoleEligibilityScheduleRequest 对象请求主体的角色资格。 此操作允许管理员和符合条件的用户添加、撤销或扩展符合条件的分配。

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

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

权限

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

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

对于委托方案,还必须至少为已登录用户分配以下Microsoft Entra角色之一:

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

HTTP 请求

POST /roleManagement/directory/roleEligibilityScheduleRequests

请求标头

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

请求正文

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

创建 unifiedRoleEligibilityScheduleRequest 时,可以指定以下属性。

属性 类型 说明
action unifiedRoleScheduleRequestActions 表示对角色资格请求的操作类型。可能的值为:、、、、selfExtendadminExtendselfDeactivateselfActivateadminRemoveadminRenew、 。 unknownFutureValueselfRenewadminUpdateadminAssign
  • adminAssign:供管理员将符合条件的角色分配给主体。
  • adminRemove:供管理员从主体中删除符合条件的角色。
  • adminUpdate:供管理员更改现有角色资格。
  • adminExtend:供管理员延长即将过期的角色资格。
  • adminRenew:供管理员续订过期资格。
  • selfActivate:供用户激活其分配。
  • selfDeactivate:让用户停用其活动分配。
  • selfExtend:供用户请求延长其即将到期的分配。
  • SelfRenew:供用户请求续订其过期分配。
appScopeId String 当角色资格限定为应用时,特定于应用的范围的标识符。 角色资格的范围决定了主体有权访问的资源集。 应用范围是仅此应用程序定义和理解的范围。 用于 / 租户范围的应用范围。 使用 directoryScopeId 将范围限制为特定的目录对象,例如管理单元。 需要 directoryScopeIdappScopeId
directoryScopeId String 表示角色资格范围的目录对象的标识符。 角色资格的范围决定了已向其授予主体访问权限的资源集。 目录范围是存储在目录中的共享范围,可由多个应用程序理解。 用于 / 租户范围。 使用 appScopeId 将范围限制为仅应用程序。 需要 directoryScopeIdappScopeId
isValidationOnly 布尔值 确定调用是验证还是实际调用。 仅当想要在实际提交请求之前检查激活是否受其他规则(如 MFA)的约束时,才设置此属性。 可选。
理由 String 用户和管理员在创建 unifiedRoleEligibilityScheduleRequest 对象时提供的消息。

adminRemove 操作可选selfDeactivate;对于其他操作类型,可能是可选的,也可能是必需操作类型,具体取决于链接到 Microsoft Entra 角色的策略中的规则。 有关详细信息,请参阅 PIM 中的规则
principalId String 已被授予角色资格的主体的标识符。 必填。
roleDefinitionId String 要分配给主体的 unifiedRoleDefinition 对象的标识符。 必填。
scheduleInfo requestSchedule 角色资格的期限。 操作为 时可选adminRemove。 资格期限取决于Microsoft Entra角色的设置
ticketInfo ticketInfo 链接到角色资格请求的票证详细信息,包括票证编号和票证系统的详细信息。

adminRemove 操作可选selfDeactivate;对于其他操作类型,可能是可选的,也可能是必需操作类型,具体取决于链接到 Microsoft Entra 角色的策略中的规则。 有关详细信息,请参阅 PIM 中的规则

响应

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

示例

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

请求

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

{
    "action": "adminAssign",
    "justification": "Assign Attribute Assignment Admin eligibility to restricted user",
    "roleDefinitionId": "8424c6f0-a189-499e-bbd0-26c1753c96d4",
    "directoryScopeId": "/",
    "principalId": "071cc716-8147-4397-a5ba-b2105951cc0b",
    "scheduleInfo": {
        "startDateTime": "2022-04-10T00:00:00Z",
        "expiration": {
            "type": "afterDateTime",
            "endDateTime": "2024-04-10T00:00:00Z"
        }
    }
}

响应

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

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/directory/roleEligibilityScheduleRequests/$entity",
    "id": "50877283-9d40-433c-bab8-7986dc10458a",
    "status": "Provisioned",
    "createdDateTime": "2022-04-12T09:05:39.7594064Z",
    "completedDateTime": "2022-04-12T09:05:41.8532931Z",
    "approvalId": null,
    "customData": null,
    "action": "adminAssign",
    "principalId": "071cc716-8147-4397-a5ba-b2105951cc0b",
    "roleDefinitionId": "8424c6f0-a189-499e-bbd0-26c1753c96d4",
    "directoryScopeId": "/",
    "appScopeId": null,
    "isValidationOnly": false,
    "targetScheduleId": "50877283-9d40-433c-bab8-7986dc10458a",
    "justification": "Assign Attribute Assignment Admin eligibility to restricted user",
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "displayName": null,
            "id": "3fbd929d-8c56-4462-851e-0eb9a7b3a2a5"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2022-04-12T09:05:41.8532931Z",
        "recurrence": null,
        "expiration": {
            "type": "afterDateTime",
            "endDateTime": "2024-04-10T00:00:00Z",
            "duration": null
        }
    },
    "ticketInfo": {
        "ticketNumber": null,
        "ticketSystem": null
    }
}

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

在以下请求中,管理员创建一个请求,以撤销具有 ID 071cc716-8147-4397-a5ba-b2105951cc0b 的主体对 ID 8424c6f0-a189-499e-bbd0-26c1753c96d4为 的角色的资格。

请求

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

{
    "action": "adminRemove",
    "roleDefinitionId": "8424c6f0-a189-499e-bbd0-26c1753c96d4",
    "directoryScopeId": "/",
    "principalId": "071cc716-8147-4397-a5ba-b2105951cc0b"
}

响应

以下示例显示了相应的响应。 响应对象显示主体的先前角色资格为 Revoked。 主体将不再看到其以前符合条件的角色。

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

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/directory/roleEligibilityScheduleRequests/$entity",
    "id": "f341269e-c926-41fa-a905-cef3b01b2a67",
    "status": "Revoked",
    "createdDateTime": "2022-04-12T09:12:15.6859992Z",
    "completedDateTime": null,
    "approvalId": null,
    "customData": null,
    "action": "adminRemove",
    "principalId": "071cc716-8147-4397-a5ba-b2105951cc0b",
    "roleDefinitionId": "8424c6f0-a189-499e-bbd0-26c1753c96d4",
    "directoryScopeId": "/",
    "appScopeId": null,
    "isValidationOnly": false,
    "targetScheduleId": null,
    "justification": null,
    "scheduleInfo": null,
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "displayName": null,
            "id": "3fbd929d-8c56-4462-851e-0eb9a7b3a2a5"
        }
    },
    "ticketInfo": {
        "ticketNumber": null,
        "ticketSystem": null
    }
}