ライフサイクル ワークフロー API の概要

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

ライフサイクル ワークフローは、組織がユーザーの基本的なライフサイクル プロセスを 3 つのレベルで自動化できるようにする、Microsoft Entra IDの ID ガバナンス サービスです。

  1. Joiner: 個人がアクセスが必要な範囲に入ったとき。たとえば、新しい従業員が会社に入社したり、organizationしたりします。
  2. ムーバー: 個人がorganization内の境界間を移動すると、たとえば、マーケティングに参加していたユーザーが販売organizationのメンバーになりました。 この移動には、より多くのアクセスまたは承認、または他の特権の失効が必要な場合があります。
  3. Leaver: 個人がアクセスが必要なスコープを離れると、アクセスが取り消され、ユーザーがプロビジョニング解除される可能性があります。 たとえば、退職または終了する従業員などです。

このため、ライフサイクル ワークフローは Joiner-Mover-Leaver (JML) ワークフローと呼ばれます。

Microsoft Graph のライフサイクル ワークフロー API を使用すると、organizationのライフサイクル ワークフロー機能を自動化できます。 この記事では、Microsoft Entra IDでライフサイクル ワークフロー サービスを有効にする API のセットについて説明しました。

ライフサイクル ワークフロー API は、OData サブネームスペース microsoft.graph.identityGovernance で定義されています。

注:

この記事では、デバイスまたはサービスから個人データをエクスポートする方法について説明します。 これらの手順は、一般データ保護規則 (GDPR) に基づく義務をサポートするために使用できます。 承認されたテナント管理者は、Microsoft Graph を使用して、エンド ユーザーに関する識別可能な情報 (顧客と従業員のユーザー プロファイル、ユーザーの名前、仕事のタイトル、住所、電話番号など) をMicrosoft Entra ID環境で修正、更新、または削除できます。

ワークフロー

ワークフローは、organization内のユーザーのライフ サイクルの管理に関連するプロセスのコンテナーです。 その中核となるのは 、タスク実行条件です。

  • タスク は、ワークフローがトリガーされたときに自動的に実行される特定のアクションです。
  • 実行条件 は、"who" の スコープ と、ワークフローが実行される "いつ" の トリガー を定義します。

ワークフローを作成するには、 定義済みのワークフロー テンプレートのいずれかを使用することをお勧めします。

ワークフロー テンプレート

Microsoft Entra IDには、ワークフローに含めることができるタスク実行条件の組み合わせのテンプレートを定義する、次の定義済みのワークフロー テンプレートが用意されています。 ワークフロー テンプレートを使用して、プログラムによってワークフローを作成できます。

ワークフロー テンプレートの種類 ライフサイクル カテゴリ
雇用前従業員のオンボード ジョイナー
新入社員のオンボード ジョイナー
新入社員のオンボード後 ジョイナー
従業員のリアルタイムの変更 Mover
従業員グループメンバーシップの変更 Mover
従業員のジョブ プロファイルの変更 Mover
従業員の解雇をリアルタイムで行う Leaver
従業員の事前オフボーディング Leaver
従業員のオフボード Leaver
従業員のオフボード後 Leaver

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 Leaver
選択したグループからユーザーを削除する 1953a66c-751c-45e5-8bfe-01462c70da3c Joiner、Leaver、Mover
すべてのグループからユーザーを削除する b3a31406-2a15-4c9a-b25b-a658fa5f07fc Leaver
チームからユーザーを削除する 06aa7acb-01af-4824-8899-b14e5ed788d6 Leaver
すべてのチームからユーザーを削除する 81f7b200-2816-4b3b-8c5d-dc556f07b024 Leaver
ユーザーからすべてのライセンス割り当てを削除する 8fa97d28-3e52-4985-b3a9-a1126f9b8b4e Leaver
ユーザーのアクセス パッケージの割り当てを削除する 4a0b64f2-c7ec-46ba-b117-18f262946c50 Leaver、Mover
選択したライセンスの割り当てをユーザーから削除する (プレビュー) 5fc402a8-daaf-4b7b-9203-da868b05fc5f Leaver、Mover
ユーザーのすべてのアクセス パッケージの割り当てを削除する 42ae2956-193d-4f39-be06-691b8ac4fa1d Leaver
ユーザーに対するすべての保留中のアクセス パッケージ割り当て要求を取り消す 498770d9-bab7-4e4c-b73d-5ded82a1d0b3 Leaver
ユーザーを削除する 8d18588d-9ad3-4c0f-99d0-ec215f0e3dff Leaver
ユーザーの最後の日の前にマネージャーにメールを送信する 52853a3e-f4e5-4eb8-bb24-1ac09a1da935 Leaver
ユーザーの最後の日に電子メールを送信する 9c0a1eaf-5bda-4392-9d9e-6e155bb57411 Leaver
最終日の後にオフボードメールをユーザー マネージャーに送信する 6f22dddd4-b3a5-47a4-a846-0d7c201a49ce Leaver

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 リソースの種類 を使用して実行条件を構成します。 このオブジェクトは、オンデマンドでのみ実行されるワークフローを構成する場合にも使用します。

ワークフローの作成と管理

ワークフローに対して定義するタスクと実行条件を特定したら、 ワークフロー リソースの種類とそれに関連付けられているメソッドを使用してワークフローを作成および管理します。 テナントには最大 100 個のワークフローを作成できます。 タスクのカテゴリは、ワークフローのカテゴリと一致している必要があります。 各ワークフローには、最大 25 個のタスクを含めることができます。 そこで:

  • "leaver" ワークフロー カテゴリでのみサポートされるタスクは、"joiner" または "mover" ワークフロー シナリオでは指定できません。その逆も同様です。
  • "joiner"、"mover"、および "leaver" ワークフロー カテゴリでサポートされるタスクは、"joiner"、"mover"、または "leaver" ワークフロー シナリオで指定できます。

テナント全体のスケジュールに基づいて実行するようにワークフローをスケジュールすることも、オンデマンドで実行することもできます。 テナント のスケジュールでは、スケジュールされた新入社員と退職を管理できますが、機密性の高いイベントがある場合は、ワークフローをオンデマンドで直ちに実行して従業員のアクセスを終了できます。

ワークフローのバージョン

ワークフローの使用中に、ワークフローの実行条件とタスクを更新することが必要になる場合があります。 ただし、ライフサイクル ワークフローでは、既存のワークフローのこれらのプロパティを更新することはできません。

新しいワークフローを作成する代わりに、 workflowVersion リソースの種類 とそれに関連付けられているメソッドを使用して、既存のワークフロー オブジェクトに基づいて新しいワークフロー バージョンを作成および管理します。 ワークフロー バージョンには、同様のタスクセットまたは異なるタスクセットと実行条件を指定できます。

レポート

ライフサイクル ワークフローでは、ワークフローの実行レベル、タスク レベル、およびユーザー レベルでワークフロー処理の状態を追跡するための広範なレポート機能がサポートされています。

ライフサイクル ワークフローのレポート機能の詳細については、 ライフサイクル ワークフロー レポート API の概要に関するページを参照してください。

拡張機能

場合によっては、組み込みのタスクが、すべてのビジネス シナリオを満たすのに十分でない場合があります。 ライフサイクル管理シナリオを拡張するために、ライフサイクル ワークフローでは、Azure Logic Apps を介して外部システムと統合するカスタム タスクの定義がサポートされています。 たとえば、"leaver" シナリオでは、ユーザーのメール アカウントへのアクセス権をユーザーのマネージャーに付与することもできます。

customTaskExtension リソースの種類とそれに関連付けられているメソッドを使用して、Azure Logic App の設定を定義します。

Settings

各テナントは、スケジュールされたすべてのワークフローが実行される場合に、テナント全体の スケジュール を定義します。 テナントは、ワークフローが 3 時間ごとに実行されるMicrosoft Entra ID定義の既定のスケジュールを採用するか、1 時間から 24 時間の間で実行するようにスケジュールを変更できます。

ライセンスチェック

この機能を使用するには、Microsoft Entra IDガバナンス ライセンスが必要です。 要件に適したライセンスを見つけるには、「Microsoft Microsoft Entra IDの一般公開機能を比較する」を参照してください。

ロールとアプリケーションのアクセス許可の承認チェック

呼び出し元ユーザーがライフサイクル ワークフローを管理するには、次のMicrosoft Entraロールが必要です。

操作 アプリケーションのアクセス許可 呼び出し元ユーザーの必須ディレクトリ ロール
読み取り LifecycleWorkflows.Read.All または LifecycleWorkflows.ReadWrite.All グローバル 閲覧者またはライフサイクル ワークフロー管理者
作成、更新、または削除 LifecycleWorkflows.ReadWrite.All ライフサイクル ワークフロー管理者