プロビジョニングを構成するときに指定できる属性マッピングの種類の 1 つは、ライフサイクル ワークフロー (LCW) 機能拡張ワークフロー マッピングの種類です。 このマッピング型を使用すると、式マッピングの種類でサポートされる基本的な変換を超えて属性 マッピングを拡張できるため、カスタム ビジネス ロジックが必要になる可能性があるシナリオを実現できます。
LCW 機能拡張ワークフロー マッピングの種類を構成するには、値を生成するためにAzureロジック アプリを呼び出す LCW 機能拡張ワークフローを作成する必要があります。 その後、Azure ロジック アプリによって生成された値がターゲット属性に適用されます。
前提条件
Azureロジック アプリを作成する必要があります。 このため、次のことが必要です。
- Azure サブスクリプション (Azure ロジック アプリの作成と使用に必要)
- ロジック アプリ共同作成者 ロール以上
Azure ロジック アプリをトリガーするには、LCW 機能拡張ワークフローを作成する必要があります。 このため、次のことが必要です。
- Entra ID ガバナンス ライセンス
- 少なくとも ライフサイクル ワークフロー管理者 ロール
属性マッピングを含むプロビジョニング ジョブを構成するには、次のものが必要です。
- 少なくとも アプリケーション管理者 ロール。 オンプレミス Active Directoryへの受信プロビジョニングを構成する場合は、ハイブリッド ID 管理者ロールも必要です
LCW 拡張性ワークフローの概要
LCW 機能拡張ワークフローは、既存の Joiner、Mover、Leaver 型とは異なる新しい種類の ライフサイクル ワークフロー です。
Joiner、Mover、Leaver ワークフローと同様に、ワークフローを実行するタスクを指定します。 この場合、タスクは カスタム拡張機能をトリガーすることです。 カスタム拡張機能は、カスタム ロジックを収容するAzure ロジック アプリのラッパーと考えることができます。拡張ワークフローによってカスタム拡張機能がトリガーされると、Azureロジック アプリが実行されます。
ただし、Joiner、Mover、Leaver の各ワークフローとは異なり、ユーザーがプロビジョニングされる前に機能拡張ワークフローを実行できます。 つまり、特定のユーザー アカウントが Entra ID ディレクトリに存在するかどうかに関係なく、拡張ワークフローを実行できます。
これにより、拡張ワークフローは、事前プロビジョニング (プレ参加者とも呼ばれます) シナリオで役立ちます。 たとえば、拡張機能ワークフローを使用して、新しく雇用された従業員の一意のエイリアスを生成してから、アカウントをディレクトリにプロビジョニングし、その後会社のリソースにアクセスできます。
Note
現在、LCW 拡張機能ワークフローでは、1 つのトリガーの種類 (プロビジョニング属性マッピング) と 1 つのタスク (データ ドリブン カスタム タスク拡張機能の実行) のみがサポートされています。
手順 0: Azure ロジック アプリを作成する
ターゲット属性に適用される 1 つの値を出力する従量課金ベースの Azure ロジック アプリを作成する必要があります。
Azure Logic Appsを初めて使用する場合は、こちらを参照してください。 さらに、このチュートリアルでは、初めての従量課金ベースのAzure ロジック アプリを作成する方法について説明します。
手順 1: カスタム拡張機能を作成する
機能拡張ワークフローを作成する前に、拡張ワークフローにリンクできるカスタム拡張機能が必要です。 前述のように、カスタム拡張機能は、カスタム ロジックが存在する Azure ロジック アプリのラッパーと考えることができます。 機能拡張ワークフローがカスタム拡張機能をトリガーすると、Azureロジック アプリが実行されます。
Microsoft Entra管理センターで
ブラウザーを使用して、Microsoft Entra 管理センターを使用してEntra ID テナントにサインインします。
カスタム拡張機能>ライフサイクル ワークフローに移動>カスタム拡張機能を追加します。
作成ウィザードの [ 基本 ] タブで、カスタム拡張機能の名前と説明を追加します。
[ タスクの動作 ] タブで、[ 結果の待機の起動 (プレビュー)] を選択します。
[詳細] タブでは、カスタム拡張機能を Azure ロジック アプリにリンクできます。 既に作成済みである場合は、[ロジック アプリの作成] で [いいえ] を選択し、ロジック アプリのサブスクリプション、リソース グループ、ロジック アプリの詳細Azure入力します。
[確認 と作成 ] タブでカスタム拡張機能の詳細を確認し、[ 作成 ] をクリックして完了します。
これで、タスクとして機能拡張ワークフローにリンクする準備が整ったカスタム拡張機能が作成されました。 次に、機能拡張ワークフローの作成に取り組みましょう。
Microsoft Graphの使用
- Microsoft Graph エクスプローラー ツールを起動します。
- テナントにサインインします。
- [アクセス許可の修正] を選択します。
- 次の必要なアクセス許可に同意します。
LifecycleWorkflows-CustomExt.ReadWrite.All - Create customTaskExtensions API を使用して、カスタム拡張機能を作成します。
要求の例
POST /identityGovernance/lifecycleWorkflows/customTaskExtensions
Content-Type: application/json
{
"displayName": "test1",
"description": "test1",
"endpointConfiguration": {
"@odata.type": "#microsoft.graph.logicAppTriggerEndpointConfiguration",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "lcw-synthetics",
"logicAppWorkflowName": "testReply"
},
"callbackConfiguration": null,
"authenticationConfiguration": {
"@odata.type": "#microsoft.graph.azureAdPopTokenAuthentication"
},
"id": "",
"clientConfiguration": {
"timeoutInMilliseconds": 1000,
"maximumRetries": 1
},
"replyMode": "response"
}
応答の例
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/lifecycleWorkflows/customTaskExtensions/$entity",
"id": "902ca666-6b67-4d45-839c-8836d7f205f9",
"displayName": "test1",
"description": "test1",
"createdDateTime": "2026-04-20T19:56:27.0723563Z",
"lastModifiedDateTime": "2026-04-20T19:56:27.0723657Z",
"replyMode": "response",
"callbackConfiguration": null,
"endpointConfiguration": {
"@odata.type": "#microsoft.graph.logicAppTriggerEndpointConfiguration",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "lcw-synthetics",
"logicAppWorkflowName": "testReply",
"url": "https://prod-05.southcentralus.logic.azure.com:443/workflows/c070dc95455e4e5a98da954feeb7e756/triggers/manual/paths/invoke?api-version=2016-10-01"
},
"authenticationConfiguration": {
"@odata.type": "#microsoft.graph.azureAdPopTokenAuthentication"
},
"clientConfiguration": {
"maximumRetries": 1,
"timeoutInMilliseconds": 1000
}
}
これで、タスクとして機能拡張ワークフローにリンクする準備が整ったカスタム拡張機能が作成されました。 次に、機能拡張ワークフローの作成に取り組みましょう。
手順 2: 拡張性ワークフローを作成する
カスタム拡張機能を作成したら、カスタム拡張機能をトリガーするタスクを持つ拡張ワークフローを作成できるようになりました。
Microsoft Entra管理センターで
ブラウザーを使用して、Microsoft Entra 管理センターを使用してEntra ID テナントにサインインします。
[Id ガバナンス] > [ライフサイクル ワークフロー] > [ワークフローの作成] に移動します。
[テンプレートの選択] タブで、 リアルタイム プロビジョニング機能拡張テンプレートを 選択します。
[ 基本 ] タブで、ワークフローの名前と説明を入力します。 トリガーの種類は、プロビジョニング 属性マッピングに自動的に設定されます。これは、現在拡張ワークフローをサポートしている唯一のトリガーの種類です。
次に、カスタム拡張機能をトリガーするように機能拡張ワークフローを構成しましょう。 [ タスクの確認 ] タブで、[ データ ドリブン カスタム タスク拡張機能の実行] タスクをクリックします。このタスクは、リアルタイム プロビジョニング機能拡張テンプレートの一部としてワークフロー タスク テーブルに自動的に追加されます。
[ データ ドリブン カスタム タスク拡張機能の実行 ] コンテキスト ウィンドウで、[ カスタム拡張機能の選択 ] フィールドをクリックし、前のセクションで作成したカスタム拡張機能を選択します。
保存 をクリックします。
[確認 と作成 ] タブでワークフローの詳細を確認し、[ 作成 ] をクリックして完了します。
これで、カスタム ロジックを含む Azure ロジック アプリをトリガーできる機能拡張ワークフローが作成されました。 次に、拡張ワークフローをターゲット属性にマッピングします。
Microsoft Graphの使用
- Microsoft Graph エクスプローラー ツールを起動します。
- テナントにサインインします。
- [アクセス許可の修正] を選択します。
- 次の必要なアクセス許可に同意します。
LifecycleWorkflows-Workflow.ReadWrite.All - ワークフローの 作成 API を使用して、LCW 機能拡張ワークフローを作成します。
要求の例
POST /identityGovernance/lifecycleWorkflows/workflows
Content-Type: application/json
{
"category": "extensibility",
"displayName": "Real-time Provisioning extensibility (Preview)",
"description": "Execute real-time extensibility tasks for performing attribute mapping extensions",
"tasks": [
{
"arguments": [
{
"name": "customTaskExtensionID",
"value": "f740553f-a6a2-4dc8-82df-148336dcd920"
}
],
"description": "Run a Custom Task Extension and pass data from the workflow as input",
"displayName": "Run a Data driven Custom Task Extension (Preview)",
"isEnabled": true,
"id": "77bb973f-3150-4a0f-b49b-24d1baa677f6",
"continueOnError": false,
"taskDefinitionId": "09303719-609e-4348-8bbc-d3ee45a2657e",
"category": "extensibility"
}
],
"executionConditions": {
"@odata.type": "#microsoft.graph.identityGovernance.provisioningAttributeMapping"
},
"isEnabled": true,
"isSchedulingEnabled": false,
"targetSubjectType": "provisioningObject"
}
応答の例
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/lifecycleWorkflows/workflows/$entity",
"category": "extensibility",
"description": "Execute real-time extensibility tasks for performing attribute mapping extensions",
"displayName": "Real-time Provisioning extensibility (Preview)",
"isEnabled": true,
"isSchedulingEnabled": false,
"lastModifiedDateTime": "2026-04-20T19:58:42.4447369Z",
"targetSubjectType": "provisioningObject",
"createdDateTime": "2026-04-20T19:58:42.444727Z",
"deletedDateTime": null,
"id": "e41388b5-446e-4cf1-9bce-92cd09f828e5",
"nextScheduleRunDateTime": null,
"version": 1,
"executionConditions": {
"@odata.type": "#microsoft.graph.identityGovernance.provisioningAttributeMapping"
},
"quarantineDetails": {
"quarantinedDateTime": null,
"quarantineType": "notQuarantined",
"quarantineReason": null
},
"settings": {
"quarantineConfiguration": {
"matchMode": "any",
"conditions": []
}
}
}
これで、カスタム ロジックを含む Azure ロジック アプリをトリガーできる機能拡張ワークフローが作成されました。 次に、拡張ワークフローをターゲット属性にマッピングします。
手順 3: 拡張ワークフローをターゲット属性にマッピングする
機能拡張ワークフローを作成したので、プロビジョニング ジョブの属性にマップします。 そのため、プロビジョニング ジョブが進行中の場合、拡張ワークフローでは、プロビジョニング ジョブのスコープ内のすべてのオブジェクトに対してその属性の値が生成されます。
たとえば、拡張ワークフローを userPrincipalName ターゲット属性にマップし、プロビジョニング ジョブのスコープ内に 5 人のユーザーがいる場合、ワークフローは 5 人のユーザーすべてに対して userPrincipalName 属性の値を生成します。
Microsoft Entra管理センターで
ブラウザーを使用して、Microsoft Entra 管理センターを使用してEntra ID テナントにサインインします。
[エンタープライズ アプリ] > [すべてのアプリケーション] に移動します。
特定のアプリケーション (SuccessFactors や Workday などの HR コネクタ、SaaS アプリケーションなど) を選択します。
アプリケーション内で、[ プロビジョニング > 属性マッピング] に移動します。
属性マッピングの一覧で、カスタム ロジックを呼び出すターゲット属性を見つけます。 その属性の編集アイコン (鉛筆記号) を選択します。
[属性マッピングの編集] ブレードで、[マッピングの種類] ドロップダウンで LCW 拡張機能ワークフローを選択します。
[LCW 機能拡張ワークフロー] フィールドをクリックして、機能拡張ワークフロー ピッカーを開きます。
[ 機能拡張ワークフローの選択 ] コンテキスト ウィンドウで、一覧から適切な機能拡張ワークフローを選択し、[ 選択] をクリックします。
[入力属性] フィールドで、拡張ワークフローに渡すソース システム属性と属性のエイリアスを指定します (エイリアスは、ソース属性名が長いか人間が判読できない場合があり、フレンドリ名が必要な場合があるシナリオで特に役立ちます)。
[属性マッピングの 編集] ブレードの下部にある [編集] ボタンを選択します。
拡張ワークフローがターゲット属性に正常にマップされた場合、[ 属性マッピング ] ページが更新され、[ マッピングの種類] 列にその属性の "LCW 機能拡張ワークフロー" が表示されます。
プロビジョニング ジョブの設定の構成が完了したら、通常どおりにプロビジョニング ジョブを開始できます。 LCW 拡張性ワークフロー wil は、スコープ内のすべてのオブジェクトに対して実行されるようになりました。
Microsoft Graphの使用
ブラウザーを使用して、Microsoft Entra 管理センターを使用してEntra ID テナントにサインインします。
[エンタープライズ アプリ] > [すべてのアプリケーション] に移動します。
属性マッピングを変更するアプリケーションを選択します。
[プロビジョニング>属性マッピング] に移動し、[スキーマの編集] > [詳細設定] オプションを選択します。
Important
変更を加える前に、既存のスキーマのコピーを保存することをお勧めします。 これにより、スキーマの安定したバージョンまたは変更されていないバージョンに簡単に戻すことができます。
編集するターゲット属性を検索して、LCW 機能拡張ワークフローにマップします。 その属性に対して変更する必要があるフィールドを次に示します。
フィールドの名前 Description flowTypeLCW 拡張性ワークフローはイベントの ObjectAddOnly、する必要がありますmatchingPriorityLCW 機能拡張ワークフローにマップされているターゲット属性は一致する属性として使用できないため、 0する必要がありますexpressionこれは、LCW 拡張機能ワークフローの GUID になります nameexpressionと同じです。これは LCW 機能拡張ワークフローの GUID になりますtypeLifecycleWorkflowにする必要があります。parametersここでは、Azure ロジック アプリに入力として渡すソース属性を構成します。 keyは、特定の入力のエイリアスです (これにより、開発者はフレンドリ名を使用して、Azure ロジック アプリの入力を参照できます。これは、ソース属性が長いか複雑な場合に役立ちます)。expressionnameはソース属性になります。LCW 機能拡張ワークフローを使用する新しい属性マッピングの例
次の例では、
userPrincipalNameターゲット属性を更新しています。{ "defaultValue": null, "exportMissingReferences": false, "flowBehavior": "FlowWhenChanged", "flowType": "ObjectAddOnly", "matchingPriority": 0, "targetAttributeName": "userPrincipalName", "source": { "expression": "2b19441a-9ff0-449d-ba74-3e4226eff132", "name": "2b19441a-9ff0-449d-ba74-3e4226eff132", "type": "LifecycleWorkflow", "parameters": [ { "key": "firstname", "value": { "expression": "[name.givenName]", "name": "name.givenName", "type": "Attribute", "parameters": [] } }, { "key": "lastname", "value": { "expression": "[name.familyName]", "name": "name.familyName", "type": "Attribute", "parameters": [] } } ] } }編集した部分だけでなく、編集したスキーマ オブジェクト 全体 を保存します (別のファイルで保存することを検討してください)。 後で Microsoft Graph Explorer ツールの要求本文でスキーマ オブジェクト全体を指定する必要があります。
Microsoft Graph エクスプローラー ツールを起動します。
テナントにサインインします。
[アクセス許可の修正] を選択します。
次の必要なアクセス許可に同意します。
Synchronization.ReadWrite.All編集したスキーマ オブジェクトを Microsoft Graph Explorer ツールの要求本文セクションにコピー/貼り付け、synchronizationSchema API の更新を使用して、特定のプロビジョニング ジョブの属性マッピングを更新します。
要求の例
PUT /servicePrincipals/{id}/synchronization/jobs/{jobId}/schema
Content-Type: application/json
// In your request body, paste the entire schema object
応答の例
HTTP/1.1 204 No Content
プロビジョニング ジョブの設定の構成が完了したら、通常どおりにプロビジョニング ジョブを開始できます。 LCW 拡張性ワークフロー wil は、スコープ内のすべてのオブジェクトに対して実行されるようになりました。
制限
次の機能の制限事項に注意してください。
- クラウド同期では、カスタム コールアウトはサポートされていません。 LCW 拡張ワークフローは、HR 受信、API 駆動型プロビジョニング、SaaS 送信プロビジョニング、テナント間同期フローにのみ使用できます。
- LCW 拡張ワークフロー マッピングの種類を持つ属性は、照合に使用できません。 LCW 機能拡張ワークフローを使用して属性の値が生成された場合、一致する属性として使用することはできません。
- カスタム コールアウトは、作成イベントでのみサポートされます。 LCW 機能拡張ワークフロー マッピングは、更新または削除ではなく、作成時にのみ適用できます。
- カスタム セキュリティ属性 (CA)。 CA の値を生成するための LCW 拡張ワークフローの使用は、明示的にはサポートされていません。 その場合は、慎重に進めてください。
関連記事
- ENTRA IDへの HR プロビジョニング/プロビジョニング解除を自動化する
- Azure Active Directory による SaaS アプリへのユーザー プロビジョニングとプロビジョニング解除の自動化
- ユーザーのプロビジョニング用の属性マッピングのカスタマイズ
- ユーザー プロビジョニングのスコープ フィルター
- SCIM を使用して、Microsoft Entra IDからアプリケーションへのユーザーとグループの自動プロビジョニングを有効にします
- アカウント プロビジョニング通知
- SaaS アプリと Azure Active Directory を統合する方法に関するチュートリアルの一覧