Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Com esta atualização, estamos a melhorar a segurança e a autenticação no Azure DevOps. A sobreposição de segredos para o Azure DevOps OAuth torna a rotação de segredos perfeita, enquanto o GitHub Advanced Security traz uma melhor filtragem para a página de visão geral de segurança, garantindo que a publicação em vários repositórios roteie corretamente os alertas de dependência e verificação de código.
As atualizações de imagem hospedadas no Azure Pipelines incluem o Ubuntu-24.04, o Windows 2025 e o mac-OS 15 Sequoia, garantindo uma experiência mais segura e confiável.
Consulte as notas de versão para obter detalhes.
Geral
- Segredos sobrepostos para o Azure DevOps OAuth
- Descontinuação das tags de estatísticas de idiomas da página de Resumo do Projeto
- Permissão de Planos de Entrega adicionada
GitHub Advanced Security para o Azure DevOps
- Página de risco de visão geral de segurança aprimorada com novas colunas e opções de filtragem
- Cenários de publicação em vários repositórios com suporte para o GitHub Advanced Security for Azure DevOps
- Integrações de serviço para alertas do GitHub Advanced Security for Azure DevOps (visualização)
- suporte ao pnpm v9 chega ao GitHub Advanced Security para análise de dependências no Azure DevOps
Azure Pipelines (Pipelines do Azure)
- Atualizações de imagens hospedadas
- A federação de identidade de carga de trabalho usa o Emissor Entra
- Tarefa Gradle@4
- Identidade do utilizador que solicitou uma etapa a executar
Planos de Teste
- Melhorias na tarefa de Publicar Resultados de Cobertura de Código v2
- Exportar casos de teste com colunas personalizadas em XLSX
Geral
Segredos sobrepostos para o Azure DevOps OAuth
Temos o prazer de apresentar o novo recurso de segredos sobrepostos no Azure DevOps OAuth, projetado para melhorar a segurança e simplificar as rotações secretas. Esse recurso permite que você adicione um novo segredo ao seu cliente OAuth enquanto o anterior permanece ativo, garantindo a operação contínua de seus aplicativos. Você pode gerenciar esses segredos programaticamente via API ou por meio da interface do usuário da página do aplicativo Visual Studio.
Como parte das melhorias de segurança contínuas, o Azure DevOps OAuth está programado para ser descontinuado em 2026. Recomendamos que migre para o OAuth do Microsoft Entra ID, para funcionalidades de segurança aprimoradas e um maior investimento a longo prazo. Nesse ínterim, recomendamos alternar regularmente seus segredos usando nosso novo recurso de segredos sobrepostos.
Descontinuação das tags de estatísticas de idiomas da página Resumo do Projeto
Nas próximas semanas, iremos descontinuar as etiquetas de estatísticas de idiomas na página de Resumo do Projeto. A remoção dessas tags ajudará a otimizar o desempenho, resultando em tempos de carregamento mais rápidos e uma interface mais responsiva.
A atualização ocorrerá automaticamente, sem necessidade de nenhuma ação da sua parte.
Permissão de Planos de Entrega adicionada
Como parte de nossos aprimoramentos de segurança contínuos, introduzimos uma nova permissão no nível do projeto Gerenciar Planos de Entrega . Essa alteração foi implementada para impedir o acesso não intencional de leitura/gravação para usuários no grupo Leitores.
GitHub Advanced Security para o Azure DevOps
Página de risco de visão geral de segurança aprimorada com novas colunas e opções de filtragem
No separador Risco, encontrará colunas recém-adicionadas que exibem alertas de segurança novos, corrigidos e descartados em toda a sua organização. Adicionámos opções de filtragem para refinar os resultados por projeto, ferramenta (segredos, dependências ou resultados de análise de código) e um filtro baseado no tempo para definir limites de pesquisa.
Além disso, a aplicação de um filtro adiciona um parâmetro de consulta de URL, permitindo que você compartilhe a exibição pré-filtrada com outras pessoas em sua organização.
Cenários de publicação em vários repositórios com suporte para o GitHub Advanced Security for Azure DevOps
Anteriormente, quando uma definição de pipeline estava alojada em um repositório e o código-fonte a ser verificado pelo GitHub Advanced Security estava em outro, os resultados eram processados e enviados para o repositório errado. Em vez de publicar alertas no repositório com o código-fonte, eles apareceram no repositório onde o pipeline foi definido.
Agora, a verificação de dependência e a verificação de código encaminham corretamente os alertas para o repositório que contém o código-fonte digitalizado em cenários de vários repositórios.
Para habilitar esse recurso, defina a variável de ambiente de pipeline advancedsecurity.publish.repository.infer: true para inferir o repositório a ser publicado a partir do repositório no diretório de trabalho.
Como alternativa, se não fizer checkout explícito de um repositório ou usar um alias para fazer checkout do repositório, utilize a variável advancedsecurity.publish.repository: $[ convertToJson(resources.repositories['YourRepositoryAlias']) ] em alternativa.
Trechos de código YAML:
trigger:
- main
resources:
repositories:
- repository: BicepGoat
type: git
name: BicepGoat
ref: refs/heads/main
trigger:
- main
jobs:
# Explicit - `advancedsecurity.publish.repository` explicitly defines the repository to submit SARIF to.
- job: "AdvancedSecurityCodeScanningExplicit"
displayName: "🛡 Infrastructure-as-Code Scanning (Explicit)"
variables:
advancedsecurity.publish.repository: $[ convertToJson(resources.repositories['BicepGoat']) ]
steps:
- checkout: BicepGoat
- task: TemplateAnalyzerSarif@1
displayName: Scan with Template Analyzer
- task: AdvancedSecurity-Publish@1
displayName: Publish to IaC Scanning Results to Advanced Security
# Infer - `advancedsecurity.publish.repository.infer` specifies that the `AdvancedSecurity-Publish` must
# infer repository to submit SARIF to from the working directory on the build agent.
- job: "AdvancedSecurityCodeScanningInfer"
displayName: "🛡 Infrastructure-as-Code Scanning (Infer)"
variables:
advancedsecurity.publish.repository.infer: true
steps:
- checkout: BicepGoat
- task: TemplateAnalyzerSarif@1
displayName: Scan with Template Analyzer
- task: AdvancedSecurity-Publish@1
displayName: Publish to IaC Scanning Results to Advanced Security
Hooks de serviço para alertas do GitHub Advanced Security para o Azure DevOps (pré-visualização)
Agora você pode configurar ganchos de serviço para eventos de alerta de Segurança Avançada do GitHub, incluindo:
- Novo alerta criado
- Dados de alerta alterados
- Estado de alerta alterado
Assim como outros eventos de repositório, você pode filtrar por repositório e ramificação. Para alertas especificamente, você pode filtrar por tipo de alerta (dependências, verificação de código ou segredos) e gravidade do alerta.
Para participar na pré-visualização, preencha o formulário de interesse de pré-visualização ou envie-nos um e-mail !
O suporte ao pnpm v9 chega ao GitHub Advanced Security para verificação de dependência do Azure DevOps
Com o pnpm v8 chegando ao fim da vida útil no final de abril, a próxima atualização de verificação de dependência incluirá suporte para pnpm v9. Esta atualização é uma resposta à sua Developer Community solicitação de suporte ao pnpm v9.
Azure Pipelines (Pipelines do Azure)
Atualizações de imagens hospedadas
Estamos lançando atualizações para manter os agentes hospedados do Azure Pipelines seguros e atualizados. Essas atualizações incluem a adição de suporte para o Ubuntu-24.04, imagens do Windows 2025 e o macOS-15 Sequoia, enquanto descontinuam imagens mais antigas como o Ubuntu-20.04 e o Windows Server 2019.
Para mais detalhes, visite o nosso blog post.
macOS-15 Sequoia está disponível em geral
A imagem macOS-15 estará disponível nos agentes alojados do Azure Pipelines a partir de 1 de abril. Para usar esta imagem, atualize seu arquivo YAML para incluir vmImage:'macos-15':
- job: macOS15
pool:
vmImage: 'macOS-15'
steps:
- bash: |
echo Hello from macOS Sequoia
sw_vers
Para o software instalado no macOS-15, veja a configuração de imagem.
A imagem macOS-14 ainda será utilizada ao especificar macOS-latest. Vamos atualizar macOS-latest para utilizar macOS-15 em abril.
A imagem do Windows-2025 está disponível na pré-visualização
A imagem windows-2025 está agora disponível em pré-visualização para os agentes alojados no Azure Pipelines. Para usar esta imagem, atualize seu arquivo YAML para incluir vmImage:'windows-2025':
- job: win2025
pool:
vmImage: 'windows-2025'
steps:
- pwsh: |
Write-Host "(Get-ComputerInfo).WindowsProductName"
Get-ComputerInfo | Select-Object WindowsProductName
Write-Host "`$PSVersionTable.OS"
$PSVersionTable.OS
Para o software instalado no Windows Server 2025, consulte configuração da imagem.
A imagem mais recente da pipeline do Ubuntu começará a usar o ubuntu-24.04
Nas próximas semanas, os trabalhos de pipeline que especificam ubuntu-latest começarão a utilizar ubuntu-24.04 em vez de ubuntu-22.04.
Para obter orientação sobre tarefas que usam ferramentas que não estão mais na ubuntu-24.04 imagem, consulte a nossa publicação do blog. Para continuar a usar o Ubuntu 22.04, use a etiqueta de imagem ubuntu-22.04.
- job: ubuntu2404
pool:
vmImage: 'ubuntu-24.04'
steps:
- bash: |
echo Hello from Ubuntu 24.04
lsb_release -d
- pwsh: |
Write-Host "`$PSVersionTable.OS"
$PSVersionTable.OS
A imagem de pipeline do ubuntu-20.04 está obsoleta e será descontinuada a 1 de abril.
Estamos a descontinuar o suporte para a imagem Ubuntu 20.04 nos Azure Pipelines porque o suporte técnico vai terminar em breve. Encontre o plano de descontinuação com cronograma de apagão parcial em nossa publicação no blogue post.
A federação de identidade de carga de trabalho utiliza o emissor Entra
Há pouco mais de um ano, disponibilizámos a federação de identidades de carga de trabalho como geralmente disponível. A federação de identidades para cargas de trabalho permite configurar uma conexão de serviço sem necessidade de um segredo. A identidade (Registro de aplicativo, Identidade gerenciada) subjacente à conexão de serviço só pode ser usada para a finalidade pretendida: a conexão de serviço configurada na credencial federada da identidade.
Agora estamos alterando o formato da credencial federada para novas conexões de serviço do Azure e do Docker. As conexões de serviço existentes funcionarão como antes.
| Emissor do Azure DevOps | Emissor Entra (novas conexões de serviço) | |
|---|---|---|
| Emissor | https://vstoken.dev.azure.com/<organization id> |
https://login.microsoftonline.com/<Entra tenant id>/v2.0 |
| Assunto | sc://<organization name>/<project name>/<service connection name> |
<entra prefix>/sc/<organization id>/<service connection id> |
Não há mudança na configuração e a forma como os tokens são obtidos permanece a mesma. As tarefas de pipeline não precisam ser atualizadas e funcionar como antes.
As etapas para criar uma conexão de serviço não estão mudando e, na maioria dos casos, o novo emissor não está visível. Ao configurar manualmente uma ligação de serviço do Azure, irá ver as novas credenciais federadas exibidas:
Copie esses valores como antes ao criar uma credencial federada para um registro de aplicativo ou identidade gerenciada.
Automatização
Ao criar uma conexão de serviço em automação com a API REST, use a credencial federada retornada pela API.
authorization.parameters.workloadIdentityFederationIssuer
authorization.parameters.workloadIdentityFederationSubject
Da mesma forma, ao criar uma ligação de serviço com o fornecedor Terraform AzureDevOps, o recurso azuredevops_serviceendpoint_azurerm retorna os atributos workload_identity_federation_issuer e workload_identity_federation_subject.
Mais informações
- Conectar-se ao Azure com uma conexão de serviço do Azure Resource Manager
- Solucionar problemas de uma conexão de serviço de identidade de workload no Azure Resource Manager
tarefa Gradle@4
Uma nova tarefa Gradle@4 foi criada com suporte para Gradle 8.0. A opção de cobertura de código integrada é removida da tarefa Gradle a partir de Gradle@4. Para usar a cobertura de código com o Gradle no seu pipeline:
- Especifique os plugins de cobertura do código no seu ficheiro build.gradle. Para obter mais informações, consulte Opções de análise de código do Gradle.
- Utilize a tarefa PublishCodeCoverageResults@2 no seu pipeline após a
Gradle@4tarefa.
A configuração da análise SonarQube foi transferida para as extensões SonarQube ou SonarCloud na tarefa Prepare Analysis Configuration.
Identidade do usuário que solicitou uma etapa para ser executada
Para melhorar a segurança dos seus pipelines YAML, pode querer saber quem solicitou a execução de uma etapa. Para responder a esta necessidade, estão a ser acrescentadas duas novas variáveis predefinidas, Build.StageRequestedBy e Build.StageRequestedById. Estas variáveis são semelhantes às variáveis Build.RequestedFor e Build.RequestedForId, mas para um estágio, e não para uma corrida.
Quando um usuário aciona explicitamente um usuário, por exemplo, no caso de um estágio acionado manualmente ou de executar novamente um estágio, sua identidade é usada para preencher as duas variáveis.
Planos de Teste
Melhorias na tarefa de publicar resultados de cobertura de código v2
Com esta versão, estamos incluindo várias melhorias para a tarefa v2:
- Suporte expandido para vários formatos de cobertura de código, incluindo: .coverage,.covx,.covb,.cjson,.xml, .lcov e pycov1.
- Geração de um arquivo cjson abrangente (e um relatório de cobertura de código) que contém informações detalhadas de cobertura de código, como nomes de arquivos, linhas cobertas/não cobertas, etc.
- Suporte para cobertura diff (cobertura de PR): o v2 pode gerar comentários de cobertura diff para múltiplas linguagens no mesmo pipeline.
- A tarefa v2 agora suporta a tarefa Verificação de qualidade de compilação, que não era suportada na tarefa v1.
Exportar casos de teste com colunas personalizadas em XLSX
Agora você pode exportar casos de teste com colunas personalizadas em XLSX. Com base nos seus comentários, os Planos de Teste suportam a exportação de casos de teste com colunas personalizadas, proporcionando-lhe maior flexibilidade e controlo sobre os dados que partilha e analisa. Esta melhoria ajuda-o a adaptar as exportações às suas necessidades, garantindo que as informações que exporta são relevantes e acionáveis.
Próximos passos
Observação
Esses recursos serão lançados nas próximas duas a três semanas.
Vá até o Azure DevOps e dê uma olhada.
Como fornecer feedback
Gostaríamos muito de ouvir o que você pensa sobre esses recursos. Use o menu Ajuda para relatar um problema ou fornecer uma sugestão.
Você também pode obter conselhos e suas perguntas respondidas pela comunidade no Stack Overflow.
Obrigado;
Silviu Andrica