Partilhar via


Como configurar a GitHub Advanced Security para o Azure DevOps

O GitHub Advanced Security for Azure DevOps adiciona o conjunto de funcionalidades de segurança do GitHub Advanced Security ao Repositórios do Azure e inclui as seguintes funcionalidades:

  • Proteção por push de varredura secreta: verifique se os pushes de código incluem confirmações que expõem segredos, como credenciais
  • Verificação de segredos no repositório: examine o seu repositório e procure por segredos expostos acidentalmente.
  • Varredura de Dependências – pesquisa de vulnerabilidades conhecidas em dependências open source (direta e transitiva)
  • Verificação de código – use o mecanismo de análise estática CodeQL para identificar vulnerabilidades de aplicações a nível de código, como injeção de SQL e bypass à autenticação

Você pode trazer a proteção da Segurança Avançada para sua empresa com a flexibilidade para habilitar o nível certo de proteção para seus repositórios. GitHub Advanced Security for Azure DevOps está disponível como GitHub Secret Protection for Azure DevOps e GitHub Code Security for Azure DevOps.

A Proteção Secreta inclui os seguintes recursos:

  • Proteção push para prevenir vazamentos de segredos antes de acontecerem
  • Alertas de varredura de segredos com notificações, para detectar vulnerabilidades existentes antes que se tornem um problema.
  • Visão geral de segurança, que fornece informações sobre o nível de risco e proteção de segurança da sua organização

O Code Security inclui os seguintes recursos:

  • Alertas de dependência, para encontrar vulnerabilidades em dependências de código aberto
  • Verificação do CodeQL, para detetar vulnerabilidades diretamente no seu código
  • Descobertas de segurança para ferramentas de terceiros
  • Visão geral de segurança, que fornece informações sobre o nível de risco e proteção de segurança da sua organização

O GitHub Advanced Security for Azure DevOps está disponível apenas para Azure DevOps Services e especificamente para repositórios Git de código.

GitHub Advanced Security for Azure DevOps funciona com Repositórios do Azure. Para usar GitHub Segurança Avançada com repositórios GitHub, consulte GitHub Segurança Avançada.

Pré-requisitos

Categoria Requerimentos
Permissões - Para visualizar um resumo de todos os alertas para um repositório: Colaborador permissões para o repositório.
- Para dispensar alertas em Segurança Avançada: permissões de administrador de projeto.
- Para gerir permissões em Advanced Security: Membro do grupo Administradores de Coleções do Projeto ou com a permissão Segurança Avançada: gerir definições definida para Permitir.

Para obter mais informações sobre permissões de Segurança Avançada, consulte Gerenciar permissões de Segurança Avançada.

Pré-requisitos extras para agentes auto-hospedados

Se sua organização usa agentes auto-hospedados, adicione as seguintes URLs à sua Lista de permissões para que a tarefa de verificação de dependência possa buscar dados de aviso de vulnerabilidade. Para obter mais informações, consulte Endereços IP permitidos e URLs de domínio.

URL do domínio Descrição
https://governance.dev.azure.com Para organizações que usam o domínio dev.azure.com para acessar sua instância de DevOps
https://dev.azure.com Para organizações que usam o domínio dev.azure.com para acessar sua instância de DevOps
https://advsec.dev.azure.com Para organizações que usam o domínio dev.azure.com para acessar sua instância de DevOps
https://{organization_name}.governance.visualstudio.com Para organizações que usam o domínio {organization_name}.visualstudio.com para acessar sua instância de DevOps
https://{organization_name}.visualstudio.com  Para organizações que usam o domínio {organization_name}.visualstudio.com para acessar sua instância de DevOps
https://{organization_name}.advsec.visualstudio.com Para organizações que usam o domínio {organization_name}.visualstudio.com para acessar sua instância de DevOps
  • Executa uma versão compatível do runtime .NET. Em abril de 2026, a versão atual continua a ser .NET 8.x. Se não houver uma versão compatível no agente, a tarefa de compilação de varredura de dependências descarrega .NET.

  • Certifique-se de que o pacote CodeQL esteja instalado no cache da ferramenta do agente em seu agente. Você pode utilizar a variável enableAutomaticCodeQLInstall: true com a tarefa de pipeline AdvancedSecurity-Codeql-Init@1 para pipelines YAML ou marcar a caixa de seleção Enable automatic CodeQL detection and installation para pipelines clássicos. Alternativamente, para instruções manuais de instalação, consulte Escaneamento de código para GitHub Segurança Avançada para Azure DevOps.

Ativar a Segurança Avançada do GitHub

Você pode habilitar a Segurança Avançada no nível da organização, projeto ou repositório. Para acessar cada uma das ferramentas de verificação e resultados, você precisa primeiro ativar a Segurança Avançada. Depois de ativar a Segurança Avançada, todos os envios futuros que contenham segredos para um repositório com esta política ativada são bloqueados e a verificação de segredos do repositório acontece em segundo plano.

Integração no nível do repositório

  1. Vá às definições do projeto para o seu projeto Azure DevOps.
  2. Selecione Repos>Repositories.
  3. Selecione o repositório para o qual deseja ativar a Segurança Avançada.
  4. Selecione Ativar e Iniciar a faturação para ativar a Segurança Avançada. Um ícone de escudo agora aparece na visualização do repositório para qualquer repositório com Segurança Avançada ativada.

Captura de ecrã de ativar GitHub Segurança Avançada.

Integração ao nível do projeto

  1. Vá às definições do projeto para o seu projeto Azure DevOps.
  2. Selecione Repos.
  3. Selecione o separador Definições.
  4. Selecione Ativar tudo e verá aparecer uma estimativa do número de committers ativos para o seu projeto. Esta ação só ativa produto para repositórios existentes.
  5. Selecione Iniciar cobrança para ativar a Segurança Avançada para cada repositório existente em seu projeto.
  6. Opcionalmente, selecione Ativar Automaticamente a Segurança Avançada para novos repositórios , para que quaisquer repositórios recém-criados no futuro tenham a Segurança Avançada ativada aquando da criação. Esta configuração é separada da Ativar todas as ações e deve ser selecionada de forma independente.

Captura de tela da ativação no nível do projeto para Segurança Avançada.

Integração ao nível da organização

  1. Vai às definições organização para a tua organização Azure DevOps.
  2. Selecione Repositórios.
  3. Selecione Ativar tudo e veja aparecer uma estimativa para o número de committers ativos da sua organização. Esta ação só ativa produto para repositórios existentes.
  4. Selecione Iniciar cobrança para ativar a Segurança Avançada para cada repositório existente em cada projeto em sua organização.
  5. Opcionalmente, selecione Ativar Automaticamente Segurança Avançada para novos projetos , de modo a que quaisquer projetos recém-criados no futuro tenham a Segurança Avançada ativada aquando da criação. Esta configuração é separada da Ativar todas as ações e deve ser selecionada de forma independente.

Captura de tela da ativação em nível de organização para Segurança Avançada.

Você pode habilitar a Proteção Secreta ou a Segurança de Código no nível da organização, projeto ou repositório.

Integração no nível do repositório

  1. Vá às definições do projeto para o seu projeto Azure DevOps.
  2. Selecione Repos>Repositories.
  3. Selecione o repositório para o qual deseja ativar a Segurança Avançada.
  4. Alterne entre Proteção Secreta ou Segurança de Código.
  5. Selecione Iniciar cobrança. Um ícone de escudo agora aparece na visualização do repositório para qualquer repositório com qualquer produto habilitado.
  6. Para habilitar opcionalmente a configuração padrão da varredura de dependência, selecione Opções e habilite a caixa de seleção Configuração padrão da verificação de dependência.

Captura de ecrã de ativar GitHub Segurança Avançada.

Integração ao nível do projeto

  1. Vá às definições do projeto para o seu projeto Azure DevOps.
  2. Selecione Repos.
  3. Selecione o separador Definições.
  4. Selecione Ativar tudo e veja aparecer uma estimativa do número de committers ativos por produto para o seu projeto. Esta ação só permite o produto selecionado para repositórios existentes.
  5. Desative os produtos desejados de Proteção Secreta ou Segurança de Código e todas as subfuncionalidades associadas.
  6. Selecione Iniciar cobrança para ativar a Proteção Secreta e/ou Segurança de Código para cada repositório existente em seu projeto.
  7. Opcionalmente, ative ou desative Automaticamente ativar a Segurança Avançada para novos repositórios para que quaisquer repositórios novos criados no futuro tenham Proteção de Segredos ou Segurança de Código ativadas aquando da criação. Esta configuração é separada da Ativar todas as ações e deve ser selecionada de forma independente.

Captura de tela da ativação no nível do projeto para Segurança Avançada.

Integração ao nível da organização

  1. Vai às definições organização para a tua organização Azure DevOps.
  2. Selecione Repositórios.
  3. Selecione Ativar tudo e veja aparecer uma estimativa do número de committers ativos por produto para a sua organização. Esta ação só permite o produto selecionado para repositórios existentes.
  4. Desative os produtos desejados de Proteção Secreta ou Segurança de Código e todas as subfuncionalidades associadas.
  5. Selecione Iniciar cobrança para ativar a Segurança Avançada para cada repositório existente em cada projeto em sua organização.
  6. Opcionalmente, ative ou desative ativar automaticamente a Segurança Avançada para novos projetos para que quaisquer projetos criados no futuro tenham Proteção de Segredos ou Segurança do Código ativada na criação. Esta configuração é separada da Ativar todas as ações e deve ser selecionada de forma independente.

Captura de tela da ativação em nível de organização para Segurança Avançada.

Configurar a verificação de segredos

A verificação secreta, a proteção por push e a verificação do repositório são ativadas automaticamente quando você ativa a Segurança Avançada. Você pode ativar ou desativar a proteção secreta por push na página de configurações do repositório.

Captura de ecrã a mostrar a ativação da proteção push.

A verificação secreta do repositório é iniciada automaticamente ao ativar a Segurança Avançada para um repositório selecionado.

A proteção push de varredura secreta e a varredura de repositório são ativadas automaticamente quando você ativa a Proteção Secreta. Você pode ativar ou desativar a proteção secreta por push na página de configurações do repositório.

Captura de ecrã a mostrar a ativação da proteção push.

A varredura de segredos no repositório é automaticamente iniciada ao ativar a Proteção de Segredos para um repositório selecionado.

Configurar a análise de dependências

Para obter acesso aos recursos de verificação de dependência, você precisa do produto Code Security habilitado para seu repositório.

A análise de dependência é uma ferramenta de análise baseada em pipeline. Os resultados são agregados por repositório. Para verificar sua ramificação padrão, você pode utilizar a configuração "Verificar dependências vulneráveis" na página de configurações do repositório. Esta funcionalidade incluirá automaticamente a tarefa de varredura de dependências em qualquer pipeline que vise o seu branch predefinido, ou qualquer build de pull request direcionada ao seu branch predefinido.

Para uma configuração mais avançada ou se você quiser verificar todas as ramificações, recomendamos que você adicione a tarefa de verificação de dependência a todos os pipelines que deseja verificar. Consulte análise de dependências para Segurança Avançada do GitHub para o Azure DevOps para mais detalhes.

Configurar a análise de código

Para obter acesso aos recursos de verificação de código, você precisa do produto Code Security habilitado para seu repositório.

A verificação de código também é uma ferramenta de verificação baseada em pipeline onde os resultados são agregados por repositório. Podes ativar a análise de código usando a configuração padrão ou a configuração avançada. Pode correr ambos na mesma organização, dependendo das suas necessidades e nível de controlo de digitalização.

A configuração padrão é a forma mais rápida de ativar a digitalização de código. A configuração padrão corre de forma programada usando o Azure Pipelines, deteta as linguagens suportadas por CodeQL no seu repositório e configura automaticamente a análise das mesmas. Se as línguas no seu repositório mudarem, a configuração de varrimento atualiza-se automaticamente.

O pool de agentes e o calendário de análise para a configuração padrão são partilhados entre todos os repositórios da organização. Pode configurar estas opções em Definições da organização>Repositórios no menu suspenso Opções Configuráveis Padrão do CodeQL. Para mais detalhes sobre cada opção, consulte Configurar opções de configuração padrão.

A configuração avançada dá-lhe controlo total sobre a configuração de digitalização ao adicionar tarefas de pipeline do CodeQL diretamente aos seus pipelines. Para detalhes sobre a configuração avançada, consulte Configuração do varrimento de código.

Gorjeta

Recomendamos começar pela configuração padrão. Se precisares de mais controlo sobre a tua configuração de varredura, como diferentes pools de agentes, passos de construção personalizados para linguagens compiladas ou varreduras em múltiplas ramificações, podes executar tanto a configuração padrão como a configuração avançada na mesma organização. Para mais informações, consulte Configurar a varredura de código.

Para gerar alertas, a configuração padrão executa-se numa base semanal. Quaisquer vulnerabilidades detetadas são apresentadas no separador Segurança Avançada.

Configurar anotações de solicitação pull

Para varredura de dependências e análise de código, as anotações configuram-se automaticamente para pull requests onde se aplica uma política de validação de build com tarefas de varredura de dependências e/ou de código incluídas no seu pipeline. Para obter mais informações sobre como configurar políticas de validação de compilação, consulte Validação de compilação.

As anotações de pull request também exigem uma análise de Segurança Avançada no branch padrão e no branch de destino antes de então analisar o branch de origem (pull request). Para obter mais informações sobre como resolver alertas para ramificações de pull request, consulte Gerir alertas de análise de dependências em pull requests e Gerir alertas de análise de código em pull requests.

Configurar verificações de estado dos pull requests

As verificações avançadas de estado de segurança permitem-lhe bloquear a fusão de pull requests quando são detetadas vulnerabilidades de segurança. Estas verificações de status avaliam a varredura de dependências, a varredura de código e os resultados da varredura secreta, e publicam um estado no seu pull request com base nas conclusões.

Existem duas verificações de estado disponíveis:

  • Bloquear em todas as vulnerabilidades críticas e elevadas (AdvancedSecurity/AllHighAndCritical): Use esta verificação para garantir que todos os alertas críticos e de alta gravidade em todo o repositório sejam resolvidos antes da fusão.
  • Bloquear em novas vulnerabilidades críticas e elevadas (AdvancedSecurity/NewHighAndCritical): Use esta verificação para evitar que novas vulnerabilidades sejam introduzidas sem que todas as existentes sejam corrigidas primeiro. Esta verificação requer uma política de validação de compilação com tarefas de Segurança Avançada para analisar o ramo de PR.

Configurar verificações de estado como políticas de ramo

Para exigir verificações avançadas de estado de segurança antes de os pull requests poderem ser fundidos, configure-os como políticas de ramos. Podes defini-los por repositório ou para um projeto.

  1. Vai a Definições do projeto>Repositórios.
  2. Opcionalmente, seleciona o repositório que queres configurar.
  3. Seleciona Políticas e depois seleciona o ramo que queres proteger. Por defeito, o ramo padrão dos seus repositórios estará protegido.
  4. Se ainda não foi criado, adicione uma política de validação de builds . Isto é necessário para que ambas as verificações de estado corram corretamente. No seu pipeline de validação de builds, se tiver múltiplas tarefas do Advanced Security, ative a Wait for Processing propriedade para as tarefas AdvancedSecurity-CodeQL-Analyze e AdvancedSecurity-Publish.
  5. Em Verificações de Estado, selecione + adicionar uma nova política de verificação de estado.
  6. No menu Status para verificar , introduza AdvancedSecurity para o género e AllHighAndCritical ou NewHighAndCritical para o nome. (Estas opções aparecem após a primeira execução bem-sucedida do pipeline com tarefas de Segurança Avançada.)
  7. Escolha o requisito da Política (obrigatória ou opcional) e defina quaisquer outras opções desejadas. Deixe as Opções Avançadas nos seus valores predefinidos — alterar a identidade autorizada ou exigir um ID de iteração impede que as verificações de estado sejam publicadas.
  8. Selecione Guardar.

Captura de ecrã de adicionar uma verificação avançada de estado de segurança.

Para mais informações sobre a configuração de políticas de verificação de estado, consulte Verificações de estado.

Para desativar a Segurança Avançada, todos os alertas e estados de alertas são retidos na guia Segurança Avançada para a próxima vez que você reativar a Segurança Avançada para seu repositório.