ライフサイクル ワークフロー API の概要
重要
Microsoft Graph の /beta
バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。
ライフサイクル ワークフローは、組織がユーザーの基本的なライフサイクル プロセスを 3 つのレベルで自動化できるようにする、Microsoft Entra ID の ID ガバナンス サービスです。
- Joiner: 個人がアクセスが必要な範囲に入ったとき。たとえば、新しい従業員が会社や組織に参加する場合などです。
- ムーバー: 個人が組織内の境界間を移動する場合。たとえば、マーケティングに参加していたユーザーは、現在販売組織のメンバーです。 この移動には、より多くのアクセスまたは承認、または他の特権の失効が必要な場合があります。
- Leaver: 個人がアクセスが必要なスコープを離れると、アクセスが取り消され、ユーザーがプロビジョニング解除される可能性があります。 たとえば、退職または終了する従業員などです。
このため、ライフサイクル ワークフローは Joiner-Mover-Leaver (JML) ワークフローと呼ばれます。
Microsoft Graph のライフサイクル ワークフロー API を使用すると、組織のライフサイクル ワークフロー機能を自動化できます。 この記事では、Microsoft Entra ID でライフサイクル ワークフロー サービスを有効にする API のセットについて説明しました。
ライフサイクル ワークフロー API は、OData サブネームスペース microsoft.graph.identityGovernance で定義されています。
注:
この記事では、デバイスまたはサービスから個人データをエクスポートする方法について説明します。 これらの手順は、一般データ保護規則 (GDPR) に基づく義務をサポートするために使用できます。 承認されたテナント管理者は、Microsoft Graph を使用して、Microsoft Entra ID 環境で、顧客と従業員のユーザー プロファイルや個人データ (ユーザーの名前、仕事のタイトル、住所、電話番号など) を含むエンド ユーザーに関する識別可能な情報を修正、更新、または削除できます。
ワークフロー
ワークフローは、組織内のユーザーのライフ サイクルの管理に関連するプロセスのコンテナーです。 その中核となるのは 、タスク と 実行条件です。
ワークフローを作成するには、 定義済みのワークフロー テンプレートのいずれかを使用することをお勧めします。
ワークフロー テンプレート
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 の一般公開機能を比較する」を参照してください。