Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A Interface de Linha de Comando do Microsoft Defender para Nuvem (CLI do Defender para Nuvem) permite inserir a verificação de segurança diretamente em seus fluxos de trabalho de CI/CD (integração contínua e implantação contínua). A CLI orquestra scanners de segurança e pode ser executada localmente para desenvolvedores.
Principais capacidades
- Avaliação de vulnerabilidade de imagem de contêiner e ingestão automática no Cloud Security Explorer.
- CLI unificada e multiplataforma que funciona com qualquer ferramenta de CI/CD.
- Saída SARIF baseada em padrões que se integra com anotações de pull requests e padrões de qualidade.
- Autenticação baseada em token com escopo para uma única assinatura do Azure para controle detalhado ou autenticação do Conector do Azure DevOps.
Pré-requisitos
Uma assinatura do Azure com o Defender para Nuvem integrado. Caso você ainda não tenha uma conta do Azure, crie uma conta gratuitamente.
GPSN do Defender habilitada.
Uma das seguintes ferramentas de pipeline de 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 do Windows ou Linux/WSL para verificações locais da área de trabalho.
Permissão de de Administrador de Segurança para criar a ID do cliente e tokens secretos se estiver usando autenticação baseada em token ou um conector do Azure DevOps ou GitHub estabelecido, se estiver usando autenticação baseada em conector.
Configuração de autenticação
A CLI do Defender para Nuvem dá suporte a dois métodos de autenticação para se alinhar às práticas de segurança da empresa. A "Connector-based authentication" está atualmente disponível e é o método preferido de autenticação para o Azure DevOps e o GitHub.
Configurar seu pipeline de CI/CD
Escolha o exemplo de configuração que corresponde à plataforma CI/CD e ao método de autenticação.
Azure DevOps (autenticação baseada em conector)
- task: MicrosoftDefenderCLI@2
inputs:
command: 'run'
scanType: 'image'
imageName: $(ImageName)
break: false
GitHub (autenticação baseada em token)
- 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}'
}
}
}
}