Lifecycle Workflow – Como configurar seu LogicApp para uma Custom Task Extension
Faaala pessoal, 100%?
Agosto tem sido de deep dive no LCW. Além das tarefas built-in, surgiram alguns casos de uso mais customizados que precisam de Custom Task Extension (CTE) chamando um LogicApp. Para que isso ocorra, o LA precisa de algo chamado Azure Active Directory Proof of Possession (AADPOP) e esse é o objetivo do post rapido de hoje, comentar contigo sobre esse processo.
Esse artigo será bem rapido e direto ao ponto, e espero que te ajude a não perder algumas horas durante o setup, como aconteceu comigo.
O que é por que preciso do POP
Como já falamos nesse artigo aqui sobre LCW , quando as tasks built-in não são suficientes, podemos utilizar as CTEs para chamar um LogicApp e executar tarefas que são suportadas por um LogicApp (o que é muita coisa). Pra que esse link ocorra, o LCW precisa ser capaz de iniciar (trigger) o LogicApp e pra isso, uma autorização é necessária, aqui que entra o POP.
Lá no LogicApp, temos um campo “Authorization” e lá você definirá os criterios que uma requisição enviando um POST ao LA deve ter para que ela seja aceita e inicie-o. Como eu prometi que seria um artigo rápido, pedi a meu colega Claudinho que gerasse um fluxo com base na minha explicação e temos o fluxo abaixo.

A configuração
A documentação nos ajuda bastante nesse processo, mas, falha em um detalhe que simplesmente impede que sua CTE funcione. Vamos ao pre-requisitos;
- Teu LA DEVE ser Consumption. É a primeira opção durante o provisionamento do recurso

- Teu LA DEVE TER uma Managed Identity System Assigned. UAMI não funciona, é mandatório ser System Assigned
- A blade de Authorization deve ter o POP configurado
Caso você não tenha esses pontos configurados, teu LA não aparecerá na seleção durante a configuração da CTE.
Lá no LogicApp, o que você precisa fazer é o seguinte:
- Ative a Managed Identity System Assigned, navegando até Settings > Identity > e virando a chave para “On”

- No mesmo menu Settings, clique em Authorization, crie uma nova policy e preencha seguindo o modelo abaixo;
- Policy Name: AzureADLifecycleWorkflowsAuthPOPAuthPolicy
- OAuth Type: Clique e selecione AADPOP
- Na sessão de Claims, 2 ja são padrão (Issuer e Audience), para adicionar os demais, clique em “+ Add Custom Claim”
Atenção, para o appid, a documentação entrega um AppID que não funciona. O correto é o que vou deixar na tabela abaixo.
Você também pode conferir essa informação no seu Tenant, buscando por “Lifecycle Workflows” em Enterprise App do seu Entra ID. Copie o Application ID.
| Claim | Valor |
|---|---|
| Issuer | https://sts.windows.net/(Tenant ID)/⚠️ Não retire a “/” no final. Copie seu Tenant ID no menu Overview do Entra ID. |
| Audience | https://management.azure.com |
| appid | ce79fdc4-cd1d-4ea5-8139-e74d7dbe0bb7⚠️ Tudo em minúsculas. Este é o valor correto — não o que está na documentação. |
| m | POST |
| u | management.azure.com |
| p | /subscriptions/(subscriptionId)/resourceGroups/(resourceGroupName)/providers/Microsoft.Logic/workflows/(LogicApp name)⚠️ Você pega essa linha pronta no seu LogicApp > Settings > Properties, no primeiro campo “Resource ID”. |
Salve a policy e, em teoria, seu LA está pronto pra ser linkado a um CTE.
Conclusão
Feito! O proximo passo é criar um Custom Task Extension e linkar seu LogicApp a ela. Veremos isso no proximo artigo!
Espero que tenha te ajudado! Grande Abraço \,,/

