Habilitar as anotações de solicitação de pull no GitHub e no Azure DevOps
A segurança do DevOps expõe as descobertas de segurança como anotações em PRs (Pull Requests). Os operadores de segurança podem habilitar anotações de PR no Microsoft Defender para Nuvem. Todos os problemas expostos podem ser resolvidos pelos desenvolvedores. Esse processo pode evitar e corrigir possíveis vulnerabilidades de segurança e configurações incorretas antes que elas entrem no estágio de produção. A segurança do DevOps anota as vulnerabilidades nas diferenças introduzidas durante o pull request em vez de todas as vulnerabilidades detectadas em todo o arquivo. Os desenvolvedores podem ver anotações nos sistemas de gerenciamento de código-fonte e os operadores de segurança podem ver as descobertas não resolvidas no Microsoft Defender para Nuvem.
Com o Microsoft Defender para Nuvem, é possível configurar anotações de PR no Azure DevOps. Se você for um cliente do GitHub Advanced Security, poderá colocar as anotações de PR no GitHub.
O que são anotações de PR
As anotações de PR são comentários adicionados a uma PR no GitHub ou no Azure DevOps. Essas anotações fornecem comentários sobre as alterações feitas no código e identificam problemas de segurança na PR e ajudam os revisores a entender as alterações feitas.
As anotações podem ser adicionadas por um usuário com acesso ao repositório e podem ser usadas para sugerir alterações, fazer perguntas ou fornecer comentários sobre o código. As anotações também podem ser usadas para acompanhar problemas e bugs que precisam ser corrigidos antes que o código seja mesclado na ramificação principal. A segurança do DevOps no Defender para Nuvem usa anotações para revelar descobertas de segurança.
Pré-requisitos
Para o GitHub:
- Uma conta do Azure. Caso ainda não tenha uma conta do Azure, crie hoje mesmo sua conta gratuita do Azure.
- Ser um cliente do GitHub Advanced Security.
- Conectar seus repositórios do GitHub ao Microsoft Defender para Nuvem.
- Configurar a ação do GitHub do Microsoft Security DevOps.
Para o Azure DevOps:
- Uma conta do Azure. Caso ainda não tenha uma conta do Azure, crie hoje mesmo sua conta gratuita do Azure.
- Tenha acesso de gravação (proprietário/colaborador) à assinatura do Azure.
- Conectar seus repositórios do Azure DevOps ao Microsoft Defender para Nuvem.
- Configure a extensão Azure DevOps do Microsoft Security DevOps.
Habilitar as anotações da solicitação de pull no GitHub
Ao habilitar as anotações de solicitação de pull no GitHub, seus desenvolvedores podem ver os problemas de segurança criando uma PR diretamente no branch principal.
Para habilitar as anotações da solicitação de pull no GitHub:
Acesse o GitHub e faça logon.
Selecione um repositório integrado ao Defender para Nuvem.
Acesse
Your repository's home page
>.github/workflows.Selecione msdevopssec.yml, que foi criado nos pré-requisitos.
Selecione Editar.
Localize e atualize a seção do gatilho para incluir:
# Triggers the workflow on push or pull request events but only for the main branch pull_request: branches: ["main"]
Você também pode exibir um repositório de exemplo.
(Opcional) Você pode selecionar em quais ramificações deseja executá-lo inserindo as ramificações na seção de gatilho. Se você quiser incluir todas as ramificações, remova as linhas com a lista de ramificações.
Selecione Confirmar início.
Selecione Confirmar alterações.
Os problemas descobertos pelo verificador são exibidos na seção “Arquivos alterados” da solicitação de pull.
- Usado em testes – o alerta não está no código de produção.
Habilitar as anotações da solicitação de pull no Azure DevOps
Ao habilitar as anotações de solicitação de pull no Azure DevOps, seus desenvolvedores podem ver os problemas de segurança criando PRs diretamente no branch principal.
Habilitar a política de validação de build para o build de CI
Antes de habilitar as anotações da solicitação de pull, sua ramificação principal deve ter habilitado a política de validação de build para o build de CI.
Para habilitar a política de validação de build para o build de CI:
Entre em seu projeto do Azure DevOps.
Navegue até Configurações do projeto>Repositórios.
Selecione o repositório para habilitar as solicitações de pull.
Selecione Políticas.
Acesse Políticas de branch>Branch principal.
Localize a seção “Validação de build”.
Verifique se a validação de build para seu repositório está alternada para Ativado.
Selecione Salvar.
Depois de seguir essas etapas, selecione o pipeline de build criado anteriormente e personalize as configurações dele de acordo com suas necessidades.
Habilitar as anotações da solicitação de pull
Para habilitar as anotações da solicitação de pull no Azure DevOps:
Entre no portal do Azure.
Navegue até Defender para Nuvem>Segurança do DevOps.
Selecione todos os repositórios relevantes para habilitar as anotações da solicitação de pull.
Selecione Gerenciar recursos.
Alterne as anotações de pull request para Ativado.
(Opcional) Selecione uma categoria no menu suspenso.
Observação
Atualmente, apenas os resultados das configurações incorretas de Infraestrutura como Código (ARM, Bicep, Terraform, CloudFormation, Dockerfiles, Helm Charts e outros) são compatíveis.
(Opcional) Selecione um nível de gravidade no menu suspenso.
Selecione Save.
Todas as anotações nas solicitações pull serão exibidas a partir de agora com base em suas configurações.
Para habilitar as anotações de pull request para meus Projetos e Organizações no Azure DevOps:
Você pode fazer isso programaticamente chamando a API de Recurso do Azure DevOps de Atualização exposta pela Microsoft. Provedor de recursos de segurança.
Informações sobre a API:
Método HTTP: URLs de PATCH:
- Atualização do projeto do Azure DevOps:
https://management.azure.com/subscriptions/<subId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Security/securityConnectors/<connectorName>/devops/default/azureDevOpsOrgs/<adoOrgName>/projects/<adoProjectName>?api-version=2023-09-01-preview
- Atualização da organização do Azure DevOps]:
https://management.azure.com/subscriptions/<subId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Security/securityConnectors/<connectorName>/devops/default/azureDevOpsOrgs/<adoOrgName>?api-version=2023-09-01-preview
Corpo da solicitação:
{
"properties": {
"actionableRemediation": {
"state": <ActionableRemediationState>,
"categoryConfigurations":[
{"category": <Category>,"minimumSeverityLevel": <Severity>}
]
}
}
}
Parâmetros/opções disponíveis
<ActionableRemediationState>
Descrição: Estado da Configuração de Anotação do PR Opções: Habilitado | Desabilitado
<Category>
Descrição: categoria de descobertas que serão anotadas em pull requests.
Opções: IaC | Código | Artefatos | Dependências | Contêineres Observação: no momento, só há suporte para IaC
<Severity>
Descrição: a gravidade mínima de uma descoberta que será considerada ao criar anotações de PR.
Opções: Alta | Média | Baixa
Exemplo de habilitação das anotações de PR de uma organização do Azure DevOps para a categoria IaC com uma gravidade mínima de Média usando a ferramenta az cli.
Atualizar organização:
az --method patch --uri https://management.azure.com/subscriptions/4383331f-878a-426f-822d-530fb00e440e/resourcegroups/myrg/providers/Microsoft.Security/securityConnectors/myconnector/devops/default/azureDevOpsOrgs/testOrg?api-version=2023-09-01-preview --body "{'properties':{'actionableRemediation':{'state':'Enabled','categoryConfigurations':[{'category':'IaC','minimumSeverityLevel':'Medium'}]}}}
Exemplo de habilitação das anotações de PR de um projeto do Azure DevOps para a categoria IaC com uma gravidade mínima de Alta usando a ferramenta az cli.
Atualizar projeto:
az --method patch --uri https://management.azure.com/subscriptions/4383331f-878a-426f-822d-530fb00e440e/resourcegroups/myrg/providers/Microsoft.Security/securityConnectors/myconnector/devops/default/azureDevOpsOrgs/testOrg/projects/testProject?api-version=2023-09-01-preview --body "{'properties':{'actionableRemediation':{'state':'Enabled','categoryConfigurations':[{'category':'IaC','minimumSeverityLevel':'High'}]}}}"
Saiba mais
- Saiba mais sobre a segurança do DevOps.
- Saiba mais sobre a segurança do DevOps na Infraestrutura como Código.
Próximas etapas
Agora, saiba mais sobre a segurança do DevOps.