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.
O Microsoft Defender for Cloud Command-Line Interface (Defender for Cloud CLI) permite-lhe incorporar a varredura de segurança diretamente nos seus fluxos de trabalho de integração contínua e implementação contínua (CI/CD). A CLI organiza scanners de segurança e pode funcionar localmente para os programadores.
Capacidades chave
- Avaliação da vulnerabilidade da imagem do contentor e ingestão automática no Cloud Security Explorer.
- CLI unificada e multiplataforma que funciona com qualquer ferramenta CI/CD.
- Saída SARIF baseada em padrões que se integra com anotações de pull-request e controlos de qualidade.
- Autenticação baseada em tokens, limitada a uma única subscrição do Azure, para controlo granular ou autenticação com o conector do Azure DevOps.
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.
Defender CSPM ativado.
Uma das seguintes ferramentas de pipeline CI/CD: Azure Pipelines, GitHub Actions, Jenkins, BitBucket Pipelines, GitLab, Google Cloud Build, Bamboo, CircleCI, Travis CI, TeamCity, Oracle DevOps Services ou AWS CodeBuild.
Terminal Windows ou Linux/WSL para varreduras locais no ambiente de trabalho.
Permissão de Administrador de Segurança para criar o ID do cliente e os tokens secretos caso se utilize autenticação baseada em tokens, ou um conector Azure DevOps ou GitHub estabelecido no caso de se utilizar autenticação baseada em conectores.
Configuração da autenticação
O Defender for Cloud CLI suporta dois métodos de autenticação para se alinhar com as práticas de segurança empresarial. A autenticação baseada em conector está atualmente disponível e é o método preferido de autenticação para Azure DevOps e GitHub.
Configure a sua pipeline de CI/CD
Escolha o exemplo de configuração que corresponda à sua plataforma CI/CD e ao método de autenticação.
Azure DevOps (autenticação baseada em conectores)
- task: MicrosoftDefenderCLI@2
inputs:
command: 'run'
scanType: 'image'
imageName: $(ImageName)
break: false
GitHub (autenticação baseada em tokens)
- name: Download Defender for Cloud CLI
run: |
curl -L -o defender "https://aka.ms/defender-cli_linux-x64" && chmod +x defender
- name: Run Defender for Cloud CLI Scan (Built)
run: |
#replace image-name with the Container image built
./defender scan image '${{ image-name }}'
continue-on-error: true
env:
DEFENDER_TENANT_ID: ${{ secrets.DEFENDER_TENANT_ID }}
DEFENDER_CLIENT_ID: ${{ secrets.DEFENDER_CLIENT_ID }}
DEFENDER_CLIENT_SECRET: ${{ secrets.DEFENDER_CLIENT_SECRET }}
Jenkins (autenticação baseada em token)
environment {
DEFENDER_TENANT_ID=credentials('defender-tenant-id')
DEFENDER_CLIENT_ID=credentials('defender-client-id')
DEFENDER_CLIENT_SECRET=credentials('defender-client-secret')
}
stage('Download & Run Defender for Cloud CLI') {
steps {
script {
node {
sh 'curl -L -o defender "https://aka.ms/defender-cli_linux-x64"'
sh 'chmod +x defender'
sh './defender scan image ${IMAGE_NAME}'
}
}
}
}