Skip to main content

Featured

Organizational Templates para Azure Logic Apps - preview

Os templates de Logic Apps já existiam como recursos públicos na galeria, compostas por “Workflow Templates” (modelos de fluxo único) e “Accelerators” (conjuntos de fluxos interrelacionados). A novidade agora é a possibilidade de criar “Organizational Templates”, permitindo que equipes criem e compartilhem padrões de automação internos adaptados à cultura e às necessidades da empresa, que são disponibilizados apenas para usuários com acesso ao ambiente corporativo, evitando exposição externa. Isso é particularmente vantajoso para empresas que utilizam APIs internas, lógicas de negócio específicas ou desejam impor padrões arquitetônicos. O processo de criação foi simplificado por uma nova interface na portal Azure. Não é mais necessário empacotar manualmente os recursos. O usuário seleciona workflows já implantados, parametriza entradas (como nomes, conectores e descrições) e define o escopo dos templates como testes ou produção, conforme o estágio de maturação desejado.. Dessa forma, ...

Introdução ao recurso de Atualização de ID Token no Azure DevOps e ao Terraform Task Version 5

 Workload identity federation ...


A Microsoft anunciou melhorias significativas na integração entre o Azure DevOps e o Terraform, com o lançamento da versão 5 da tarefa Microsoft DevLabs Terraform Task. Essa atualização introduz o suporte nativo ao ID Token Refresh, aprimorando a autenticação em pipelines que utilizam Workload Identity Federation via OpenID Connect (OIDC).

O que é o ID Token Refresh?

Em cenários de Workload Identity Federation, o Azure DevOps emite um ID Token com validade curta (~5 minutos), que é trocado por um Access Token para autenticação no Azure. Em pipelines longos ou com etapas manuais, esse token pode expirar, resultando em erros como AADSTS700024: Client assertion is not within its valid time range. O ID Token Refresh permite que o pipeline solicite um novo ID Token automaticamente quando necessário, garantindo a continuidade da execução.

O que mudou na versão 5 da Terraform Task?

A versão 5 da tarefa Microsoft DevLabs Terraform Task agora suporta o ID Token Refresh por padrão ao utilizar conexões de serviço com Workload Identity Federation. Isso elimina a necessidade de configurações manuais para renovação de tokens, tornando os pipelines mais resilientes.(//devedigest)

Além disso, os seguintes provedores Terraform foram atualizados para suportar essa funcionalidade:

azurerm
azapi
azuread

O backend azurerm para estado remoto também foi ajustado para compatibilidade com o ID Token Refresh.

Configuração do ID Token Refresh

Para utilizar o ID Token Refresh, é necessário definir as seguintes variáveis de ambiente:
ARM_OIDC_AZURE_SERVICE_CONNECTION_ID: ID da conexão de serviço no Azure DevOps.
ARM_OIDC_REQUEST_URL: URL da API para solicitação de novos ID Tokens (padrão: SYSTEM_OIDCREQUESTURI).
ARM_OIDC_REQUEST_TOKEN: Token de acesso do sistema (System.AccessToken).

No entanto, ao utilizar a versão 5 da Terraform Task, essas configurações são gerenciadas automaticamente pela tarefa, simplificando o processo para os usuários.

Exemplo de uso no YAML

Um exemplo de pipeline utilizando a nova tarefa:(Stack Overflow)
- task: TerraformTask@5
displayName: 'Terraform Init'
inputs:
provider: 'azurerm'
command: 'init'
backendServiceArm: 'sua-conexao-de-servico'
backendAzureRmStorageAccountName: 'nome-do-storage'
backendAzureRmContainerName: 'nome-do-container'
backendAzureRmKey: 'state.tfstate'
- task: TerraformTask@5
name: terraformPlan
displayName: 'Terraform Plan'
inputs:
provider: 'azurerm'
command: 'plan'
commandOptions: '-out tfplan'
environmentServiceNameAzureRM: 'sua-conexao-de-servico'
- task: TerraformTask@5
displayName: 'Terraform Apply'
condition: and(succeeded(), eq(variables['terraformPlan.changesPresent'], 'true'))
inputs:
provider: 'azurerm'
command: 'apply'
commandOptions: 'tfplan'
environmentServiceNameAzureRM: 'sua-conexao-de-servico'

Benefícios para equipes DevOps

  • Resiliência aprimorada: Evita falhas em pipelines longos devido à expiração de tokens.
  • Automação simplificada: Reduz a necessidade de scripts personalizados para renovação de tokens.
  • Segurança reforçada: Adoção de autenticação sem senha com tokens de curta duração.
  • Integração facilitada: Compatibilidade com provedores e backends atualizados.

Comments

Popular Posts