Skip to main content

Featured

Novo recurso no Microsoft Entra ID: desativar App Registration sem excluir

O Microsoft Entra ID agora permite desativar uma App Registration de forma reversível, sem precisar excluí-la do tenant.  Além de uma maneira de obter maior controle operacional, menor superfície de ataque e maior maturidade em identidade corporativa, esse recurso proporciona segurança, sem que haja  perca de configurações e permissões de aplicações que podem voltar a serem utilizadas. Antes dessa funcionalidade, administradores precisavam optar entre manter o aplicativo ativo durante uma investigação ou removê-lo completamente, o que implicava perda de histórico, permissões de API e configurações. Agora é possível interromper o acesso sem destruir o objeto. O que acontece ao desativar um aplicativo Quando uma App Registration é desativada, n ovos tokens deixam de ser emitidos, u suários não conseguem autenticar, a  aplicação não consegue acessar APIs usando novos tokens e o  Service Principal passa a ter o atributo isDisabled definido como true Se houver tentativa ...

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