生命周期工作流 API 概述

重要

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

生命周期工作流是 Microsoft Entra ID 中的一项标识治理服务,使组织能够在三个级别为用户自动执行基本生命周期流程:

  1. Joiner:当个人进入需要访问权限的范围时;例如,加入公司或组织的新员工。
  2. Mover:当个人在组织内的边界之间移动时;例如,从事市场营销的用户现在是销售组织的成员。 此移动可能需要更多访问权限或授权,或者吊销其他特权。
  3. 离开者:当个人离开需要访问权限的范围时,可能需要撤销访问权限,并取消预配用户。 例如,即将退休或终止的员工。

因此,生命周期工作流可称为 Joiner-Mover-Leaver (JML) 工作流。

借助 Microsoft Graph 中的生命周期工作流 API,可以自动执行组织的生命周期工作流功能。 本文介绍了在 Microsoft Entra ID 中启用生命周期工作流服务的 API 集。

生命周期工作流 API 在 OData 子名称空间 microsoft.graph.identityGovernance 中定义。

注意

本文介绍如何从设备或服务导出个人数据。 这些步骤可用于支持一般数据保护条例 (GDPR) 下的义务。 授权租户管理员可以在Microsoft Entra ID环境中使用 Microsoft Graph 来更正、更新或删除最终用户的身份信息,包括客户和员工用户配置文件或个人数据,例如用户名、工作职务、地址或电话号码。

工作流

工作流是管理组织中用户生命周期所涉及的流程的容器。 其核心是任务和执行条件

  • 任务 是触发工作流时自动运行的特定操作。
  • 执行条件 定义工作流运行“who ”的范围和 “何时”的 触发器

若要创建工作流,建议使用 预定义工作流模板之一。

工作流模板

Microsoft Entra ID提供了以下预定义工作流模板,这些模板定义可构成工作流一部分的任务和执行条件组合的模板。 可以使用工作流模板以编程方式创建工作流。

工作流模板类型 生命周期类别
加入预聘员工 木匠
加入新员工 木匠
入职后新员工 木匠
实时员工更改 Mover
员工组成员身份更改 Mover
员工作业配置文件更改 Mover
实时员工解雇 离开器
员工预离职 离开器
员工下船 离开器
员工离职后 离开器

使用 workflowTemplate 资源类型 及其关联方法标识预配置模板及其支持的任务和执行条件,并复制并使用模板以编程方式 创建工作流

常规工作流信息

每个工作流都包含一般描述性信息,例如其标识符、名称、说明,以及它是启用按计划运行还是按需运行。

工作流任务

工作流任务是触发工作流时自动运行的特定操作。 生命周期工作流定义指定工作流类别允许的以下预配置和只读任务。 这些任务定义显示任务类型的设置,指导你为工作流创建任务。

生命周期工作流当前支持以下任务:

任务 taskdefinitionID 类别
向新员工发送欢迎电子邮件 70b29d51-b59a-4773-9280-8841dfd3f2ea 木匠
发送载入提醒电子邮件 3C860712-2D37-42A4-928F-5C93935D26A1 木匠
生成临时访问密码并通过电子邮件发送给用户的经理 1b555e50-7f65-41d5-b514-5894a026d10d 木匠
请求用户访问权限包分配 c1ec1e76-f374-4375-aaa6-0bb6bd4c60be Joiner、Mover
(预览版) 向用户分配许可证 683c87a4-2ad4-420b-97d4-220d90afcd24 Joiner、Mover
发送电子邮件以通知管理员用户移动 aab41899-9972-422a-9d97-f626014578b7 Mover
将用户添加到组 22085229-5809-45e8-97fd-270d28d66910 Joiner、Leaver、Mover
将用户添加到团队 e440ed8d-25a1-4618-84ce-091ed5be5594 Joiner、Leaver、Mover
启用用户帐户 6fc52c9d-398b-4305-9763-15f42c1676fc Joiner、Leaver
运行自定义任务扩展 4262b724-8dba-4fad-afc3-43fcbb497a0e Joiner、Leaver
禁用用户帐户 1dfdfcc7-52fa-4c2e-bf3a-e3919cc12950 离开器
从所选组中删除用户 1953a66c-751c-45e5-8bfe-01462c70da3c Joiner、Leaver、Mover
从所有组中删除用户 b3a31406-2a15-4c9a-b25b-a658fa5f07fc 离开器
从团队中删除用户 06aa7acb-01af-4824-8899-b14e5ed788d6 离开器
从所有团队中删除用户 81f7b200-2816-4b3b-8c5d-dc556f07b024 离开器
删除用户的所有许可证分配 8fa97d28-3e52-4985-b3a9-a1126f9b8b4e 离开器
删除用户的访问包分配 4a0b64f2-c7ec-46ba-b117-18f262946c50 Leaver、Mover
从用户 (预览版中删除所选许可证分配) 5fc402a8-daaf-4b7b-9203-da868b05fc5f Leaver、Mover
删除用户的所有访问包分配 42ae2956-193d-4f39-be06-691b8ac4fa1d 离开器
取消用户的所有挂起的访问包分配请求 498770d9-bab7-4e4c-b73d-5ded82a1d0b3 离开器
删除用户 8d18588d-9ad3-4c0f-99d0-ec215f0e3dff 离开器
在用户最后一天之前向经理发送电子邮件 52853a3e-f4e5-4eb8-bb24-1ac09a1da935 离开器
在用户上一天发送电子邮件 9c0a1eaf-5bda-4392-9d9e-6e155bb57411 离开器
在用户最后一天之后向用户经理发送卸载电子邮件 6f22ddd4-b3a5-47a4-a846-0d7c201a49ce 离开器

使用 taskDefinition 资源类型 及其关联方法来发现可为工作流配置的所有预定义任务以及属性的设置。 任务资源类型及其关联的 GET 方法允许查看为工作流配置的任务。

执行条件

对于每个工作流任务,都有一个执行条件,用于定义工作流及其关联任务运行的“who” 范围 以及“何时” 触发器 。 例如,如果员工在 R&D 部门,则执行条件可以指定在离职员工就业结束日期前 7 天运行工作流。 工作流中的关联任务可以指定从 R&D 团队和组中删除用户。

⁄⁄Sample snippet for the executionConditions object

"executionConditions": {
    "@odata.type": "#microsoft.graph.identityGovernance.triggerAndScopeBasedConditions",
    "scope": {
        "@odata.type": "#microsoft.graph.identityGovernance.ruleBasedSubjectSet",
        "rule": "department eq 'R&D'"
    },
    "trigger": {
        "@odata.type": "#microsoft.graph.identityGovernance.timeBasedAttributeTrigger",
        "timeBasedAttribute": "employeeLeaveDateTime",
        "offsetInDays": -7
    }
}

创建或更新工作流时,请使用 workflowExecutionConditions 资源类型 来配置执行条件。 使用此对象还可以配置仅按需运行的工作流。

创建和管理工作流

确定要为工作流定义的任务和执行条件后,请使用 工作流资源类型及其关联的方法来创建和管理工作流。 一个租户中最多可以创建 50 个工作流。 任务的类别必须与工作流的类别匹配。 每个工作流最多可以有 25 个任务。 因此:

  • 仅支持“leaver”工作流类别的任务不能在“joiner”或“mover”工作流方案中指定,反之亦然。
  • 可以在“joiner”、“mover”或“leaver”工作流方案中指定支持“joiner”、“mover”和“leaver”工作流类别的任务。

可以根据 租户范围的计划 来计划工作流运行,也可以按需运行工作流。 租户计划可以处理计划的新员工和解雇,而你可以立即按需运行工作流,以在发生敏感事件时终止员工的访问权限。

工作流版本

使用工作流时,可能需要更新工作流的执行条件和任务。 但是,生命周期工作流不允许更新现有工作流的这些属性。

使用 workflowVersion 资源类型 及其关联方法基于现有工作流对象创建和管理新的工作流版本,而不是创建新的工作流。 工作流版本可以有一组类似或不同的任务和执行条件。

报表

生命周期工作流支持广泛的报告功能,用于跟踪工作流运行级别、任务级别和用户级别的工作流处理状态。

有关生命周期工作流的报告功能的详细信息,请参阅 生命周期工作流报告 API 概述

扩展

有时,内置任务可能不足以满足所有业务方案。 为了扩展生命周期管理方案,生命周期工作流支持定义自定义任务,以便通过 Azure 逻辑应用与外部系统集成。 例如,对于“离开者”方案,你可能还希望向用户的经理授予对用户电子邮件帐户的访问权限。

使用 customTaskExtension 资源类型 及其关联方法定义 Azure 逻辑应用的设置。

设置

运行所有计划工作流时,每个租户定义租户范围的 计划 。 租户可以采用Microsoft Entra ID定义的默认计划,其中工作流每三小时运行一次,或者将计划修改为在 1 小时到 24 小时之间运行。

许可证检查

使用此功能需要Microsoft Entra ID 治理许可证。 若要找到适合你的要求的许可证,请参阅比较 Microsoft Microsoft Entra ID 的正式版功能

角色和应用程序权限授权检查

调用用户需要以下Microsoft Entra角色来管理生命周期工作流。

操作 应用程序权限 调用用户的必需目录角色
阅读 LifecycleWorkflows.Read.All 或 LifecycleWorkflows.ReadWrite.All 全局读取者或生命周期工作流管理员
创建、更新或删除 LifecycleWorkflows.ReadWrite.All 生命周期工作流管理员