Integre a CLI do Defender for Cloud com pipelines de CI/CD
O Defender for Cloud Command Line Interface (CLI) é um aplicativo que você pode usar em pipelines de integração contínua e implantação contínua (CI/CD). Ele executa ferramentas de análise estática e conecta código a serviços de nuvem. Você pode usar a CLI do Defender for Cloud em qualquer processo de compilação para verificar imagens em busca de vulnerabilidades de segurança com scanners de segurança integrados. Ele envia os resultados da verificação para o portal do Defender for Cloud. O Cloud Security Explorer pode então acessar a imagem do contêiner e suas vulnerabilidades.
Pré-requisitos
Uma Subscrição do Azure com o Defender for Cloud integrado. Se ainda não tiver uma conta do Azure, crie uma gratuitamente.
Uma das seguintes ferramentas de pipeline de CI/CD: Jenkins, BitBucket Pipelines, Google Cloud Build, Bamboo, CircleCI, Travis CI, TeamCity, Oracle DevOps services, AWS CodeBuild
O Defender CSPM ativado.
Permissão de administrador de segurança para criar o ID do cliente e o segredo.
Configurar
Nas seções a seguir, explicamos como recuperar a ID do cliente e os segredos, atualizar o script de pipeline de CI/CD e adicionar variáveis de ambiente ao pipeline de CI/CD.
Recuperar o token da API
Para permitir que os dados de segurança da CLI do Defender for Cloud sejam passados para o back-end do Defender for Cloud, o administrador de segurança do Defender for Cloud deve primeiro gerar uma chave de API do Defender for Cloud para autenticação.
Quando os tokens são gerados, o administrador de segurança seleciona um escopo de assinatura a ser associado ao token. Os dados que estão sendo "enviados" para o Defender for Cloud a partir desse token têm como escopo a assinatura à qual o token está associado. Esses tokens de API são imutáveis e só podem ser gerados/excluídos.
A partir daí, o administrador de segurança deve passar com segurança o token para os desenvolvedores para ser adicionado ao pipeline de CI/CD.
Inicie sessão no portal do Azure.
Vá para Integrações de configurações>do ambiente de gerenciamento de>nuvem do Microsoft Defender for Cloud.>
Selecione Adicionar integração e, em seguida, selecione Ingestão de DevOps.
Insira um nome descritivo para o token, o locatário selecionado armazene as informações do token. O segredo do cliente é gerado quando você insere uma descrição para o segredo e a data de validade.
Habilite o token na Configuração e crie os tokens.
Copie cada token. Eles não podem ser editados ou recuperados depois que você seleciona OK.
Na tabela Integrações, a nova Ingestão é exibida.
Atualizar o script de pipeline de CI/CD
Cada ferramenta de pipeline de CI/CD tem sintaxe diferente. Este código é um exemplo de um pipeline Bitbucket:
image: atlassian/default-image:3
pipelines:
default:
- parallel:
- step:
name: 'MSDO trivy test'
script:
- curl -L -o ./msdo_linux.zip https://www.nuget.org/api/v2/package/Microsoft.Security.DevOps.Cli.linux-x64/
- unzip ./msdo_linux.zip
- chmod +x tools/guardian
- chmod +x tools/Microsoft.Guardian.Cli
- ls -lah .
- tools/guardian init --force
- tools/guardian run -t trivy --export-file ./ubuntu-test.sarif --publish-file-folder-path ./ubuntu-test.sarif
Variáveis do pipeline
Depois de receber os tokens com segurança, o desenvolvedor deve configurar uma variável de ambiente para a chave. A variável de ambiente é passada para a CLI através do shell script que o desenvolvedor pode receber do curl ou copiando manualmente o shell script em seu repo.
Nome | Valor |
---|---|
GDN_MDC_CLI_CLIENT_ID | <ID do cliente> |
GDN_MDC_CLI_CLIENT_SECRET | <Segredo do Cliente> |
GDN_MDC_CLI_TENANT_ID | <ID do inquilino> |
GDN_PIPELINENAME | bitbucket, jenkins, gcp, bambu, círculo, travis, teamcity, oci, aws |
Rever os resultados no Cloud Security Explorer
Depois de executar o pipeline com êxito, navegue novamente até o Microsoft Defender for Cloud.
No menu Defender for Cloud, selecione Cloud Security Explorer.
Selecione a lista suspensa Selecionar tipos de recursos, selecione DevOps e, em seguida, selecione Concluído.
Selecione o + ícone para adicionar um novo critério de pesquisa.
Escolha a lista suspensa Selecionar condição . Em seguida, selecione Dados e, em seguida, selecione Pushes.
Escolha a lista suspensa Selecionar tipos de recursos. Em seguida, selecione Contêineres, Imagensde contêiner e Concluído.
Selecione o escopo selecionado durante a criação da integração em Configurações de ambiente.
Selecione Pesquisar.
Veja os resultados do pipeline para mapeamento de imagens.
Correlacione com contêineres monitorados
No Cloud Security Explorer, insira a seguinte consulta: CI/CD Pipeline ->Pipeline + Container Images ->Contained in + Container registers (group).
Revise os nomes dos recursos para ver o mapeamento do contêiner.
Conteúdos relacionados
- Create your first pipeline (Criar o primeiro pipeline)
- Visão geral da segurança do Microsoft Defender for Cloud DevOps