Referência para estender mapeamentos de atributo Microsoft Entra com chamadas personalizadas usando fluxos de trabalho de extensibilidade LCW (versão prévia)

Quando você configura o provisionamento, um dos tipos de mapeamentos de atributo que você pode especificar é o tipo de mapeamento de fluxo de trabalho de extensibilidade LCW (Fluxos de Trabalho de Ciclo de Vida). Esse tipo de mapeamento permite que você estenda mapeamentos de atributo além das transformações básicas compatíveis com o tipo de mapeamento de expressão, permitindo que você atenda a cenários em que a lógica de negócios personalizada pode ser necessária.

Para configurar o tipo de mapeamento de fluxo de trabalho de extensibilidade do LCW, você precisará criar um fluxo de trabalho de extensibilidade LCW que invoque um aplicativo lógico Azure para gerar um valor. O valor gerado pelo aplicativo lógico Azure é aplicado a um atributo de destino.

Pré-requisitos

Você precisará criar um aplicativo lógico Azure. Para isso, você deve ter:

Você precisará criar um fluxo de trabalho de extensibilidade do LCW para disparar o aplicativo lógico Azure. Para isso, você deve ter:

Para configurar um trabalho de provisionamento, incluindo mapeamentos de atributo, você precisará:

Visão geral do fluxo de trabalho de extensibilidade do LCW

Um fluxo de trabalho de extensibilidade LCW é um novo tipo de fluxo de trabalho do ciclo de vida que é distinto dos tipos existentes Joiner, Mover e Leaver.

Assim como os fluxos de trabalho Joiner, Mover e Leaver, você especificará uma tarefa para o fluxo de trabalho a ser executado. Nesse caso, a tarefa será disparar uma extensão personalizada. Você pode pensar em uma extensão personalizada como um wrapper para o aplicativo lógico Azure que abriga sua lógica personalizada, quando a extensão personalizada é disparada pelo fluxo de trabalho de extensibilidade, o Aplicativo Lógico Azure será executado.

Ao contrário dos fluxos de trabalho Joiner, Mover e Leaver, no entanto, os fluxos de trabalho de extensibilidade podem ser executados antes que um usuário seja provisionado. Em outras palavras, um fluxo de trabalho de extensibilidade pode ser executado independentemente de uma determinada conta de usuário estiver presente no diretório Entra ID.

Isso torna os fluxos de trabalho de extensibilidade úteis em cenários de pré-provisionamento (também conhecidos como pré-ingressados). Por exemplo, você pode usar um fluxo de trabalho de extensibilidade para gerar um alias exclusivo para um funcionário recém-contratado antes de provisionar sua conta para o diretório e, posteriormente, dar-lhes acesso aos recursos da empresa.

Note

Atualmente, um fluxo de trabalho de extensibilidade LCW dá suporte apenas a um tipo de gatilho (mapeamento de atributo de provisionamento) e uma tarefa (executar uma extensão de tarefa personalizada controlada por dados).

Etapa 0: Criar um aplicativo lógico Azure

Você precisará criar um aplicativo lógico Azure baseado em consumo que produz um único valor que será aplicado a um atributo de destino.

Se você é novo em Aplicativos Lógicos do Azure, você pode ler mais aqui. Além disso, você pode encontrar instruções sobre como criar seu primeiro aplicativo lógico Azure baseado em consumo neste tutorial.

Etapa 1: Criar uma extensão personalizada

Antes de criar um fluxo de trabalho de extensibilidade, você precisa de uma extensão personalizada que possa ser vinculada ao fluxo de trabalho de extensibilidade. Conforme mencionado anteriormente, você pode pensar na extensão personalizada como um wrapper para o aplicativo lógico Azure em que sua lógica personalizada reside. Quando o fluxo de trabalho de extensibilidade disparar a extensão personalizada, o aplicativo lógico Azure será executado.

No centro de administração do Microsoft Entra

  1. Usando seu navegador, entre no locatário do Entra ID por meio do centro de administração do Microsoft Entra.

  2. Navegue até fluxos de trabalho do Ciclo de Vida Extensões personalizadas >> Adicione uma extensão personalizada.

    Captura de tela da folha de extensão personalizada no portal do Microsoft Entra e onde encontrar o botão

  3. Na guia Noções básicas do assistente de criação, adicione um nome e uma descrição para sua extensão personalizada.

  4. Na guia Comportamento da tarefa , selecione Iniciar aguardar o resultado (versão prévia).

  5. Na guia Detalhes, você pode vincular a extensão personalizada a um aplicativo lógico Azure. Supondo que você já tenha um criado, selecione Não para Criar um aplicativo lógico e, em seguida, insira a assinatura, o grupo de recursos e os detalhes do aplicativo lógico para Azure Aplicativo Lógico.

    Captura de tela do painel de detalhes do assistente de criação de extensão personalizado, em que os clientes vinculam um aplicativo lógico Azure.

  6. Examine os detalhes da extensão personalizada na guia Examinar + criar e clique em Criar para concluir.

Agora você tem uma extensão personalizada pronta para vincular a um fluxo de trabalho de extensibilidade como uma tarefa. Agora vamos trabalhar na criação de um fluxo de trabalho de extensibilidade.

Usando Microsoft Graph

  1. Inicie a ferramenta Microsoft Graph Explorer.
  2. Entre em seu locatário.
  3. Selecione Modificar permissões.
  4. Consentir com as seguintes permissões necessárias: LifecycleWorkflows-CustomExt.ReadWrite.All
  5. Use a API Create customTaskExtensions para criar uma extensão personalizada.

Solicitação de exemplo

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

Resposta de exemplo

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

Agora você tem uma extensão personalizada pronta para vincular a um fluxo de trabalho de extensibilidade como uma tarefa. Agora vamos trabalhar na criação de um fluxo de trabalho de extensibilidade.

Etapa 2: Criar um fluxo de trabalho de extensibilidade

Depois de criar uma extensão personalizada, agora você pode criar um fluxo de trabalho de extensibilidade cuja tarefa é disparar a extensão personalizada.

No centro de administração do Microsoft Entra

  1. Usando seu navegador, entre no locatário do Entra ID por meio do centro de administração do Microsoft Entra.

  2. Navegue até fluxos de trabalho do ciclo de vida de governança > de identidade Criar > fluxo de trabalho.

  3. Na guia Escolher um modelo, selecione o modelo de extensibilidade de provisionamento em tempo real .

    Captura de tela do catálogo de modelos no assistente de criação de fluxo de trabalho do ciclo de vida, um dos quais é um modelo para um fluxo de trabalho de extensibilidade.

  4. Na guia Noções básicas, insira um nome e uma descrição para o fluxo de trabalho. O tipo de gatilho será definido automaticamente como mapeamento de atributo de provisionamento, que é o único tipo de gatilho que oferecemos suporte atualmente para fluxos de trabalho de extensibilidade.

  5. Agora, vamos configurar o fluxo de trabalho de extensibilidade para que ele dispare uma extensão personalizada. Na guia Tarefas de Revisão , clique na tarefa Executar uma Extensão de Tarefa Personalizada controlada por dados , que deveria ter sido adicionada automaticamente à tabela de tarefas de fluxo de trabalho como parte do modelo de extensibilidade de provisionamento em tempo real.

    Captura de tela do painel

  6. No painel de contexto Executar uma Extensão de Tarefa Personalizada controlada por dados , clique no campo Selecionar extensão personalizada e selecione a extensão personalizada que você criou na seção anterior.

  7. Clique em Salvar.

  8. Examine os detalhes do fluxo de trabalho na guia Examinar + criar e clique em Criar para concluir.

Agora você tem um fluxo de trabalho de extensibilidade que pode disparar um aplicativo lógico Azure que contém sua lógica personalizada. Agora vamos trabalhar no mapeamento do fluxo de trabalho de extensibilidade para um atributo de destino.

Usando Microsoft Graph

  1. Inicie a ferramenta Microsoft Graph Explorer.
  2. Entre em seu locatário.
  3. Selecione Modificar permissões.
  4. Consentir com as seguintes permissões necessárias: LifecycleWorkflows-Workflow.ReadWrite.All
  5. Use a API Criar fluxo de trabalho para criar um fluxo de trabalho de extensibilidade LCW.

Solicitação de exemplo

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

Resposta de exemplo

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

Agora você tem um fluxo de trabalho de extensibilidade que pode disparar um aplicativo lógico Azure que contém sua lógica personalizada. Agora vamos trabalhar no mapeamento do fluxo de trabalho de extensibilidade para um atributo de destino.

Etapa 3: Mapeamento de um fluxo de trabalho de extensibilidade para um atributo de destino

Agora que você criou um fluxo de trabalho de extensibilidade, é hora de mapeá-lo para um atributo em um trabalho de provisionamento. Isso é para que, quando um trabalho de provisionamento estiver em andamento, o fluxo de trabalho de extensibilidade gere um valor para esse atributo para cada objeto no escopo do trabalho de provisionamento.

Por exemplo, se você mapear um fluxo de trabalho de extensibilidade para o atributo de destino userPrincipalName e houver cinco usuários no escopo do trabalho de provisionamento, o fluxo de trabalho gerará um valor para o atributo userPrincipalName para todos os cinco usuários.

No centro de administração do Microsoft Entra

  1. Usando seu navegador, entre no locatário do Entra ID por meio do centro de administração do Microsoft Entra.

  2. Navegue até aplicativos Empresariais > Todos os aplicativos.

    Captura de tela da folha aplicativos empresariais no portal do Microsoft Entra.

  3. Selecione um aplicativo específico (por exemplo, um conector de RH como SuccessFactors ou Workday ou um aplicativo SaaS).

  4. No aplicativo, navegue até o mapeamento de atributo de provisionamento>.

  5. Na lista de mapeamento de atributo, localize o atributo de destino para o qual você gostaria de invocar a lógica personalizada. Selecione o ícone de edição (o símbolo de lápis) para esse atributo.

    Captura de tela da folha 'Mapeamento de atributos' e onde localizar o ícone de lápis, que é o ponto de entrada para a folha 'Editar mapeamento de atributos'.

  6. Na folha Editar Mapeamento de Atributos, selecione o fluxo de trabalho de extensibilidade do LCW na lista suspensa tipo mapeamento .

  7. Clique no campo de fluxo de trabalho de extensibilidade LCW para abrir o seletor de fluxo de trabalho de extensibilidade.

  8. No painel de contexto Selecionar fluxo de trabalho de extensibilidade , selecione o fluxo de trabalho de extensibilidade apropriado na lista e pressione Select.

  9. Para o campo Atributos de entrada , especifique quais atributos do sistema de origem você passará para o fluxo de trabalho de extensibilidade e um alias para o atributo (os aliases podem ser especialmente úteis para cenários em que os nomes de atributo de origem são longos ou não legíveis por humanos e podem precisar de um nome amigável).

  10. Selecione o botão Editar na parte inferior da folha Editar Mapeamento de Atributos .

Se o fluxo de trabalho de extensibilidade tiver sido mapeado com êxito para o atributo de destino, a página de mapeamento de atributo será atualizada para que a coluna Tipo de Mapeamento mostre "fluxo de trabalho de extensibilidade LCW" para esse atributo fornecido.

Depois de terminar de definir as configurações do seu trabalho de provisionamento, agora você pode iniciar um trabalho de provisionamento normalmente. O fluxo de trabalho de extensibilidade do LCW agora será executado para todos os objetos no escopo.

Usando Microsoft Graph

  1. Usando seu navegador, entre no locatário do Entra ID por meio do centro de administração do Microsoft Entra.

  2. Navegue até aplicativos Empresariais > Todos os aplicativos.

  3. Selecione o aplicativo para o qual você deseja modificar os mapeamentos de atributo.

  4. Navegue até o mapeamento de Atributo de Provisionamento > e selecioneOpções > avançadas Editar esquema.

    Importante

    Antes de fazer alterações, recomendamos que você salve uma cópia do esquema existente. Isso permite que você reverta facilmente para uma versão estável/não modificada do esquema.

  5. Pesquise o atributo de destino que você deseja editar para que ele seja mapeado para o fluxo de trabalho de extensibilidade do LCW. Estes são os campos que você precisará modificar para esse atributo:

    Nome do campo Description
    flowType Deve ser ObjectAddOnly, já que os fluxos de trabalho de extensibilidade do LCW só podem ser executados durante a criação de eventos
    matchingPriority Deve ser 0, uma vez que atributos de destino mapeados para um fluxo de trabalho de extensibilidade LCW não podem ser usados como atributos correspondentes
    expression Esse será o GUID do fluxo de trabalho de extensibilidade do LCW
    name expressionIgual a ; este será o GUID do fluxo de trabalho de extensibilidade do LCW
    type Deve ser LifecycleWorkflow
    parameters Aqui, você configurará os atributos de origem que deseja passar como entradas para o aplicativo lógico Azure. keyé o alias de uma determinada entrada (isso permite que os desenvolvedores usem um nome amigável com referência a uma entrada no aplicativo lógico Azure, o que é útil para situações em que um atributo de origem pode ser longo ou complicado). expression e name será um atributo de origem.

    Exemplo de um novo mapeamento de atributo que usa fluxos de trabalho de extensibilidade LCW

    No exemplo abaixo, estamos atualizando o userPrincipalName atributo de destino.

    {
    	"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. Salve todo o objeto de esquema editado, não apenas a parte que você editou (considere fazer isso em um arquivo separado). Você precisará fornecer todo o objeto de esquema no corpo da solicitação da ferramenta Microsoft Graph Explorer posteriormente.

  7. Inicie a ferramenta Microsoft Graph Explorer.

  8. Entre em seu locatário.

  9. Selecione Modificar permissões.

  10. Consentir com as seguintes permissões necessárias: Synchronization.ReadWrite.All

  11. Copie/cole o objeto de esquema editado na seção Corpo da solicitação da ferramenta Microsoft Graph Explorer e use a API Update synchronizationSchema para atualizar os mapeamentos de atributo para um determinado trabalho de provisionamento.

Solicitação de exemplo

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

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

Resposta de exemplo

HTTP/1.1 204 No Content

Depois de terminar de definir as configurações do seu trabalho de provisionamento, agora você pode iniciar um trabalho de provisionamento normalmente. O fluxo de trabalho de extensibilidade do LCW agora será executado para todos os objetos no escopo.

Limitations

Observe as seguintes limitações de recurso:

  • Não há suporte para chamadas personalizadas para sincronização de nuvem. Os fluxos de trabalho de extensibilidade do LCW só podem ser usados para fluxos de entrada de RH, provisionamento controlado por API, provisionamento de saída de SaaS e sincronização entre locatários.
  • Um atributo com o tipo de mapeamento de fluxo de trabalho de extensibilidade LCW não pode ser usado para correspondência. Se o valor de um atributo foi gerado usando um fluxo de trabalho de extensibilidade LCW, ele não pode ser usado como um atributo correspondente.
  • Chamadas personalizadas só têm suporte para criar eventos. O mapeamento de fluxo de trabalho de extensibilidade LCW só pode ser aplicado durante criações, não atualizações ou exclusões.
  • Atributos de segurança personalizados (CSAs). Não damos suporte explicitamente ao uso de fluxos de trabalho de extensibilidade LCW para gerar valores para CSAs. Se você decidir fazê-lo, prossiga com cuidado.