Dokumentacja rozszerzania mapowań atrybutów Microsoft Entra za pomocą niestandardowych wywołań przy użyciu przepływów pracy rozszerzalności LCW (wersja zapoznawcza)

Podczas konfigurowania aprowizacji jednym z typów mapowań atrybutów, które można określić, jest typ mapowania przepływu pracy cyklu życia (LCW). Ten typ mapowania umożliwia rozszerzenie mapowań atrybutów poza podstawowe przekształcenia obsługiwane przez typ mapowania wyrażeń, co umożliwia spełnienie scenariuszy, w których może być wymagana niestandardowa logika biznesowa.

Aby skonfigurować typ mapowania przepływu pracy rozszerzalności LCW, należy użyć przepływu pracy rozszerzalności LCW, który wywołuje aplikację logiki Azure w celu wygenerowania wartości. Wartość wygenerowana przez aplikację logiki Azure jest następnie stosowana do atrybutu docelowego.

Wymagania wstępne

Aby utworzyć aplikację logiki Azure, upewnij się, że masz:

Aby utworzyć przepływ pracy rozszerzalności LCW w celu wyzwolenia aplikacji logiki Azure, upewnij się, że masz:

Aby skonfigurować zadanie aprowizacji, w tym mapowania atrybutów, upewnij się, że:

Omówienie przepływu pracy rozszerzalności LCW

Przepływ pracy rozszerzalności LCW to nowy typ przepływu pracy cyklu życia , który różni się od istniejących typów sprzężenia, Mover i Leaver.

Podobnie jak przepływy pracy joiner, Mover i Leaver, określisz zadanie do uruchomienia przepływu pracy. W takim przypadku zadanie będzie wyzwalać rozszerzenie niestandardowe. Rozszerzenie niestandardowe można traktować jako otokę dla aplikacji logiki Azure zawierającej niestandardową logikę — gdy rozszerzenie niestandardowe zostanie wyzwolone przez przepływ pracy rozszerzalności, zostanie uruchomiona aplikacja logiki Azure.

W przeciwieństwie do przepływów pracy funkcji Joiner, Mover i Leaver, jednak przepływy pracy rozszerzalności mogą być uruchamiane przed aprowizowaną przez użytkownika. Innymi słowy, przepływ pracy rozszerzalności może działać niezależnie od tego, czy dane konto użytkownika znajduje się w katalogu Entra ID.

Dzięki temu przepływy pracy rozszerzalności są przydatne w scenariuszach wstępnej aprowizacji (nazywanej również sprzężeniami wstępnymi). Na przykład możesz użyć przepływu pracy rozszerzalności, aby wygenerować unikatowy alias dla nowo zatrudnionych pracowników przed aprowizowaniem konta do katalogu, a następnie nadać im dostęp do zasobów firmy.

Note

Obecnie przepływ pracy rozszerzalności LCW obsługuje tylko jeden typ wyzwalacza (mapowanie atrybutów aprowizacji) i jedno zadanie (Uruchamianie niestandardowego rozszerzenia zadania opartego na danych).

Krok 0. Tworzenie aplikacji logiki Azure

Należy utworzyć aplikację logiki opartą na użyciu Azure, która generuje pojedynczą wartość, która zostanie zastosowana do atrybutu docelowego.

Jeśli dopiero zaczynasz Azure Logic Apps, możesz przeczytać więcej tutaj. Ponadto możesz znaleźć instrukcje dotyczące tworzenia pierwszej aplikacji logiki opartej na użyciu Azure w tym samouczku.

Krok 1. Tworzenie rozszerzenia niestandardowego

Przed utworzeniem przepływu pracy rozszerzalności potrzebne jest rozszerzenie niestandardowe, które można połączyć z przepływem pracy rozszerzalności. Jak wspomniano wcześniej, można traktować rozszerzenie niestandardowe jako otokę dla aplikacji logiki Azure, w której znajduje się logika niestandardowa. Gdy przepływ pracy rozszerzalności wyzwala rozszerzenie niestandardowe, zostanie uruchomiona aplikacja logiki Azure.

W portalu administracyjnym Microsoft Entra

  1. Za pomocą przeglądarki zaloguj się do dzierżawy Entra ID za pośrednictwem centrum administracyjne Microsoft Entra.

  2. Przejdź do pozycji Przepływy >> pracy cyklu życia Rozszerzenia niestandardowe Dodaj rozszerzenie niestandardowe.

    Zrzut ekranu przedstawiający blok rozszerzenia niestandardowego w portalu Microsoft Entra i miejsce znalezienia przycisku

  3. Na karcie Podstawowe kreatora tworzenia dodaj nazwę i opis rozszerzenia niestandardowego.

  4. Na karcie Zachowanie zadania wybierz pozycję Uruchom oczekiwanie na wynik (wersja zapoznawcza).

  5. Na karcie Szczegóły możesz połączyć rozszerzenie niestandardowe z aplikacją logiki Azure. Zakładając, że masz już utworzoną aplikację, wybierz pozycję Nie dla pozycji Utwórz aplikację logiki, a następnie wprowadź szczegóły subskrypcji, grupy zasobów i aplikacji logiki dla aplikacji logiki Azure.

    Zrzut ekranu przedstawiający okienko szczegółów kreatora tworzenia rozszerzenia niestandardowego, w którym klienci łączą aplikację logiki Azure.

  6. Przejrzyj szczegóły rozszerzenia niestandardowego na karcie Przeglądanie i tworzenie , a następnie kliknij przycisk Utwórz , aby zakończyć.

Masz teraz rozszerzenie niestandardowe, które jest gotowe do łączenia z przepływem pracy rozszerzalności jako zadaniem. Teraz przyjrzyjmy się tworzeniu przepływu pracy rozszerzalności.

Korzystanie z programu Microsoft Graph

  1. Uruchom narzędzie Microsoft Graph Explorer.
  2. Zaloguj się do dzierżawy.
  3. Wybierz pozycję Modyfikuj uprawnienia.
  4. Zgoda na następujące wymagane uprawnienia: LifecycleWorkflows-CustomExt.ReadWrite.All
  5. Użyj interfejsu API Create customTaskExtensions , aby utworzyć rozszerzenie niestandardowe.

Przykładowe żądanie

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"
}

Przykładowa odpowiedź

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
	}
}

Masz teraz rozszerzenie niestandardowe, które jest gotowe do łączenia z przepływem pracy rozszerzalności jako zadaniem. Teraz przyjrzyjmy się tworzeniu przepływu pracy rozszerzalności.

Krok 2. Tworzenie przepływu pracy rozszerzalności

Po utworzeniu rozszerzenia niestandardowego można teraz utworzyć przepływ pracy rozszerzalności, którego zadaniem jest wyzwolenie rozszerzenia niestandardowego.

W portalu administracyjnym Microsoft Entra

  1. Za pomocą przeglądarki zaloguj się do dzierżawy Entra ID za pośrednictwem centrum administracyjne Microsoft Entra.

  2. Przejdź do obszaru Przepływy > pracy cyklu życia ładu > tożsamości Utwórz przepływ pracy.

  3. Na karcie Wybierz szablon wybierz szablon Rozszerzalność aprowizacji w czasie rzeczywistym .

    Zrzut ekranu przedstawiający wykaz szablonów w kreatorze tworzenia przepływu pracy cyklu życia, który jest szablonem przepływu pracy rozszerzalności.

  4. Na karcie Podstawy wprowadź nazwę i opis przepływu pracy. Typ wyzwalacza zostanie automatycznie ustawiony na mapowanie atrybutów aprowizacji, czyli jedyny typ wyzwalacza, który obecnie obsługujemy dla przepływów pracy rozszerzalności.

  5. Teraz skonfigurujmy przepływ pracy rozszerzalności, aby wyzwolił rozszerzenie niestandardowe. Na karcie Przejrzyj zadania kliknij zadanie Uruchamianie niestandardowego rozszerzenia zadań opartego na danych , które powinno zostać automatycznie dodane do tabeli zadań przepływu pracy w ramach szablonu rozszerzalności aprowizacji w czasie rzeczywistym.

    Zrzut ekranu przedstawiający okienko

  6. W okienku Kontekst uruchamiania niestandardowego rozszerzenia zadania opartego na danych kliknij pole Wybierz rozszerzenie niestandardowe i wybierz rozszerzenie niestandardowe utworzone w poprzedniej sekcji.

  7. Kliknij Zapisz.

  8. Przejrzyj szczegóły przepływu pracy na karcie Przeglądanie i tworzenie , a następnie kliknij przycisk Utwórz , aby zakończyć.

Masz teraz przepływ pracy rozszerzalności, który może wyzwolić Azure aplikację logiki zawierającą niestandardową logikę. Teraz przyjrzyjmy się mapowaniu przepływu pracy rozszerzalności na atrybut docelowy.

Korzystanie z programu Microsoft Graph

  1. Uruchom narzędzie Microsoft Graph Explorer.
  2. Zaloguj się do dzierżawy.
  3. Wybierz pozycję Modyfikuj uprawnienia.
  4. Zgoda na następujące wymagane uprawnienia: LifecycleWorkflows-Workflow.ReadWrite.All
  5. Użyj interfejsu API tworzenia przepływu pracy , aby utworzyć przepływ pracy rozszerzalności LCW.

Przykładowe żądanie

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"
}

Przykładowa odpowiedź

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": []
		}
	}
}

Masz teraz przepływ pracy rozszerzalności, który może wyzwolić Azure aplikację logiki zawierającą niestandardową logikę. Teraz przyjrzyjmy się mapowaniu przepływu pracy rozszerzalności na atrybut docelowy.

Krok 3. Mapowanie przepływu pracy rozszerzalności na atrybut docelowy

Po utworzeniu przepływu pracy rozszerzalności nadszedł czas, aby zamapować go na atrybut w zadaniu aprowizacji. Dzięki temu, gdy zadanie aprowizacji jest w toku, przepływ pracy rozszerzalności wygeneruje wartość tego atrybutu dla każdego obiektu w zakresie zadania aprowizacji.

Jeśli na przykład zamapujesz przepływ pracy rozszerzalności na atrybut docelowy userPrincipalName i istnieje pięciu użytkowników w zakresie zadania aprowizacji, przepływ pracy wygeneruje wartość atrybutu userPrincipalName dla wszystkich pięciu użytkowników.

W portalu administracyjnym Microsoft Entra

  1. Za pomocą przeglądarki zaloguj się do dzierżawy Entra ID za pośrednictwem centrum administracyjne Microsoft Entra.

  2. Przejdź do pozycji Aplikacje > dla przedsiębiorstw Wszystkie aplikacje.

    Zrzut ekranu przedstawiający blok aplikacje dla przedsiębiorstw w portalu Microsoft Entra.

  3. Wybierz określoną aplikację (np. łącznik HR, taki jak SuccessFactors lub Workday, albo aplikacja SaaS).

  4. W aplikacji przejdź do obszaru Aprowizacja mapowania > atrybutów.

  5. Na liście mapowania atrybutów znajdź atrybut docelowy, dla którego chcesz wywołać logikę niestandardową. Wybierz ikonę edycji (symbol ołówka) dla tego atrybutu.

    Zrzut ekranu przedstawiający blok

  6. W bloku Edytowanie mapowania atrybutów wybierz przepływ pracy rozszerzalności LCW z listy rozwijanej Typ mapowania .

  7. Kliknij pole przepływu pracy rozszerzalności LCW , aby otworzyć selektor przepływu pracy rozszerzalności.

  8. W okienku kontekstowym Wybierz rozszerzalność przepływu pracy wybierz odpowiedni przepływ pracy rozszerzalności z listy i naciśnij pozycję Wybierz.

  9. W polu Atrybuty wejściowe określ, jakie atrybuty systemu źródłowego zostaną przekazane do przepływu pracy rozszerzalności i alias atrybutu (aliasy mogą być szczególnie przydatne w scenariuszach, w których nazwy atrybutów źródłowych są długie lub nieczytelne przez człowieka i mogą potrzebować przyjaznej nazwy).

  10. Wybierz przycisk Edytuj w dolnej części bloku Edytuj mapowanie atrybutów .

Jeśli przepływ pracy rozszerzalności został pomyślnie zamapowany na atrybut docelowy, strona mapowania atrybutów zostanie zaktualizowana tak, aby kolumna Typ mapowania zawierała wartość "Przepływ pracy rozszerzalności LCW" dla danego atrybutu.

Po zakończeniu konfigurowania ustawień zadania aprowizacji możesz teraz uruchomić zadanie aprowizacji w zwykły sposób. Przepływ pracy rozszerzalności LCW jest teraz uruchamiany dla wszystkich obiektów w zakresie.

Korzystanie z programu Microsoft Graph

  1. Za pomocą przeglądarki zaloguj się do dzierżawy Entra ID za pośrednictwem centrum administracyjne Microsoft Entra.

  2. Przejdź do pozycji Aplikacje > dla przedsiębiorstw Wszystkie aplikacje.

  3. Wybierz aplikację, dla której chcesz zmodyfikować mapowania atrybutów.

  4. Przejdź do obszaru Mapowanie atrybutów aprowizacji > i wybierz pozycję Opcje > zaawansowane Edytuj schemat.

    Important

    Przed wprowadzeniem jakichkolwiek zmian zalecamy zapisanie kopii istniejącego schematu. Dzięki temu można łatwo przywrócić stabilną/niezmodyfikowaną wersję schematu.

  5. Wyszukaj atrybut docelowy, który chcesz edytować, tak aby był mapowy na przepływ pracy rozszerzalności LCW. Są to pola, które należy zmodyfikować dla tego atrybutu:

    Nazwa pola Description
    flowType Musi mieć wartość ObjectAddOnly, ponieważ przepływy pracy rozszerzalności LCW mogą być uruchamiane tylko podczas tworzenia zdarzeń
    matchingPriority Musi mieć 0wartość , ponieważ atrybuty docelowe mapowane na przepływ pracy rozszerzalności LCW nie mogą być używane jako pasujące atrybuty
    expression Będzie to identyfikator GUID przepływu pracy rozszerzalności LCW
    name Taki sam jak expression; będzie to identyfikator GUID przepływu pracy rozszerzalności LCW
    type Musi być LifecycleWorkflow
    parameters W tym miejscu skonfigurujesz atrybuty źródłowe, które mają być przekazywane jako dane wejściowe do aplikacji logiki Azure. keyto alias dla danych wejściowych (dzięki temu deweloperzy mogą używać przyjaznej nazwy z odwoływaniem się do danych wejściowych w aplikacji logiki Azure, co jest przydatne w sytuacjach, w których atrybut źródłowy może być długi lub skomplikowany). expression i name będzie atrybutem źródłowym.

    Przykład nowego mapowania atrybutów używającego przepływów pracy rozszerzalności LCW

    W poniższym przykładzie aktualizujemy atrybut docelowy 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": []
    				}
    			}
    		]
    	}
    }
    
  6. Zapisz cały edytowany obiekt schematu, a nie tylko część edytowaną (rozważ wykonanie tej czynności w osobnym pliku). Cały obiekt schematu należy podać w treści żądania narzędzia Microsoft Graph Explorer później.

  7. Uruchom narzędzie Microsoft Graph Explorer.

  8. Zaloguj się do dzierżawy.

  9. Wybierz pozycję Modyfikuj uprawnienia.

  10. Zgoda na następujące wymagane uprawnienia: Synchronization.ReadWrite.All

  11. Skopiuj/wklej edytowany obiekt schematu do sekcji Treść żądania narzędzia Microsoft Graph Explorer i użyj interfejsu API Update SynchronizationSchema, aby zaktualizować mapowania atrybutów dla danego zadania aprowizacji.

Przykładowe żądanie

PUT /servicePrincipals/{id}/synchronization/jobs/{jobId}/schema
Content-Type: application/json

// In your request body, paste the entire schema object

Przykładowa odpowiedź

HTTP/1.1 204 No Content

Po zakończeniu konfigurowania ustawień zadania aprowizacji możesz teraz uruchomić zadanie aprowizacji w zwykły sposób. Przepływ pracy rozszerzalności LCW jest teraz uruchamiany dla wszystkich obiektów w zakresie.

Limitations

Należy pamiętać o następujących ograniczeniach funkcji:

  • Niestandardowe wywołania nie są obsługiwane w przypadku synchronizacji z chmurą. Przepływy pracy rozszerzalności LCW mogą być używane tylko w przypadku przepływów aprowizacji ruchu przychodzącego, aprowizowania opartego na interfejsie API, aprowizacji ruchu wychodzącego SaaS i synchronizacji między dzierżawami.
  • Atrybut z typem mapowania przepływu pracy rozszerzalności LCW nie może być używany do dopasowywania. Jeśli wartość atrybutu została wygenerowana przy użyciu przepływu pracy rozszerzalności LCW, nie można jej użyć jako pasującego atrybutu.
  • Wywołania niestandardowe są obsługiwane tylko w przypadku zdarzeń tworzenia. Mapowanie przepływu pracy rozszerzalności LCW można stosować tylko podczas tworzenia, a nie aktualizacji ani usuwania.
  • Niestandardowe atrybuty zabezpieczeń (CSA). Nie obsługujemy jawnie używania przepływów pracy rozszerzalności LCW do generowania wartości dla CSA. Jeśli zdecydujesz się to zrobić, zachowaj ostrożność.