Aracılığıyla paylaş


Cloud CLI için Defender ile işlem hattı taramasında CI/CD işlemleri

Bulut için Microsoft Defender Komut Satırı Arabirimi (Bulut için Defender CLI), sürekli tümleştirme ve sürekli dağıtım (CI/CD) iş akışlarınıza doğrudan güvenlik taraması eklemenizi sağlar. CLI, güvenlik tarayıcılarını düzenler ve geliştiriciler için yerel olarak çalışabilir.

Önemli özellikler

  • Kapsayıcı görüntüsü güvenlik açığı değerlendirmesi ve Bulut Güvenlik Gezgini'ne otomatik alım.
  • Tüm CI/CD araçlarıyla çalışan birleşik, platformlar arası CLI.
  • Çekme isteği ek açıklamaları ve kalite geçitleriyle entegre olan standartlara dayalı SARIF çıkışı.
  • Daha ayrıntılı denetim veya Azure DevOps Bağlayıcı kimlik doğrulaması için kapsamı tek bir Azure aboneliği ile sınırlı olan belirteç tabanlı kimlik doğrulaması.

Önkoşullar

  • Bulut için Defender eklenen bir Azure Aboneliği. Henüz bir Azure hesabınız yoksa ücretsiz olarak bir hesap oluşturun.

  • Defender CSPM etkinleştirildi.

  • Aşağıdaki CI/CD işlem hattı araçlarından biri: Azure Pipelines, GitHub Actions, Jenkins, BitBucket Pipelines, GitLab, Google Cloud Build, Bamboo, CircleCI, Travis CI, TeamCity, Oracle DevOps hizmetleri veya AWS CodeBuild.

  • Yerel masaüstü taramaları için Windows veya Linux/WSL terminali.

  • Belirteç tabanlı kimlik doğrulaması kullanılıyorsa istemci kimliği ve gizli belirteçlerini oluşturmak için Güvenlik Yöneticisi izni veya bağlayıcı tabanlı kimlik doğrulaması kullanılıyorsa, önceden oluşturulmuş bir Azure DevOps veya GitHub bağlayıcısı gereklidir.

Kimlik doğrulaması kurulumu

Bulut için Defender CLI, kurumsal güvenlik uygulamalarıyla uyumlu hale getirmek için iki kimlik doğrulama yöntemini destekler. Bağlayıcı tabanlı kimlik doğrulaması şu anda kullanılabilir ve Azure DevOps ve GitHub için tercih edilen kimlik doğrulama yöntemidir.

  1. Bağlayıcı tabanlı kimlik doğrulaması
  2. Belirteç tabanlı kimlik doğrulaması

CI/CD işlem hattınızı yapılandırma

CI/CD platformunuz ve kimlik doğrulama yönteminizle eşleşen yapılandırma örneğini seçin.

Azure DevOps (Bağlayıcı tabanlı kimlik doğrulaması)

- task: MicrosoftDefenderCLI@2
    inputs:
      command: 'run'
      scanType: 'image'
      imageName: $(ImageName)
      break: false

GitHub (Belirteç tabanlı kimlik doğrulaması)

- 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 (Belirteç tabanlı kimlik doğrulaması)

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}'
      }
    }
  }
}