Lifecycle Workflow – Como configurar seu LogicApp para uma Custom Task Extension

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.

 

Fluxo de autorização POP entre Lifecycle Workflows, Custom Task Extension e Logic App

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

 

Seleção do plano Consumption durante o provisionamento do Logic App

  • 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:

  1. Ative a Managed Identity System Assigned, navegando até Settings > Identity > e virando a chave para “On”Ativando a System Assigned Managed Identity no Logic App
  2. No mesmo menu Settings, clique em Authorization, crie uma nova policy e preencha seguindo o modelo abaixo;
    1. Policy Name: AzureADLifecycleWorkflowsAuthPOPAuthPolicy
    2. OAuth Type: Clique e selecione AADPOP
    3. 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 \,,/

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *