Aracılığıyla paylaş


Bulut için Defender CLI'yi CI/CD işlem hatlarıyla tümleştirme

Bulut için Defender Komut Satırı Arabirimi (CLI), sürekli tümleştirme ve sürekli dağıtım (CI/CD) işlem hatlarında kullanabileceğiniz bir uygulamadır. Statik analiz araçlarını çalıştırır ve kodu bulut hizmetlerine bağlar. Yerleşik güvenlik tarayıcılarıyla görüntüleri güvenlik açıklarına karşı taramak için Bulut için Defender CLI'yi herhangi bir derleme işleminde kullanabilirsiniz. Tarama sonuçlarını Bulut için Defender portalına gönderir. Bulut Güvenlik Gezgini daha sonra kapsayıcı görüntüsüne ve güvenlik açıklarına erişebilir.

Ö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.

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

  • Defender CSPM etkinleştirildi.

  • İstemci kimliğini ve gizli diziyi oluşturmak için Güvenlik Yöneticisi İzni.

Ayarlama

Aşağıdaki bölümlerde İstemci Kimliği ve Gizli Dizileri alma, CI/CD işlem hattı betiğini güncelleştirme ve CI/CD işlem hattına ortam değişkenleri ekleme işlemleri açıklanmaktadır.

API Belirtecini alma

Bulut için Defender CLI'daki güvenlik verilerinin Bulut için Defender arka ucuna geçirilmesine izin vermek için, Bulut için Defender'deki güvenlik yöneticisinin önce kimlik doğrulaması için Bulut için Defender'dan bir API anahtarı oluşturması gerekir.

Belirteçler oluşturulduğunda, güvenlik yöneticisi belirteçle ilişkilendirilecek bir abonelik kapsamı seçer. Bu belirteçten Bulut için Defender "gönderilen" verilerin kapsamı belirtecin ilişkilendirildiği abonelik olarak belirlenmiştir. Bu API belirteçleri sabittir ve yalnızca oluşturulabilir/silinebilir.

Buradan, güvenlik yöneticisinin CI/CD işlem hattına eklenmek üzere belirteci geliştiricilere güvenli bir şekilde geçirmesi gerekir.

  1. Azure Portal’ında oturum açın.

  2. Bulut için Microsoft Defender> Yönetme>Ortamı Ayarları>Tümleştirmeleri'ne gidin.

    Bulut için Defender Tümleştirme Ortamı Ayarları'nın ekran görüntüsü.

  3. Tümleştirme ekle'yi ve ardından DevOps Alımı'ı seçin.

    Yeni DevOps Alımı seçeneğinin ekran görüntüsü.

  4. Belirteç için açıklayıcı bir ad girin; seçilen kiracı belirteç bilgilerini depolar. Gizli dizi için bir açıklama ve son kullanma tarihi girdiğinizde istemci gizli dizisi oluşturulur.

    DevOps Alma tümleştirmesi ekleme ekran görüntüsü.

  5. Yapılandırma'da belirteci etkinleştirin ve belirteçleri oluşturun.

    DevOps Alımı oluşturma ve belirteç oluşturma işleminin ekran görüntüsü.

  6. Her belirteci kopyalayın. Tamam'ı seçtikten sonra düzenlenemez veya alınamaz.

    Oluşturulan başarılı DevOps alımının ekran görüntüsü.

  7. Tümleştirmeler tablosunda yeni alım görüntülenir.

    Yeni alma ile DevOps Tümleştirmeleri tablosunun ekran görüntüsü.

CI/CD işlem hattı betiğini güncelleştirme

Her CI/CD işlem hattı aracının söz dizimi farklıdır. Bu kod bir Bitbucket işlem hattı örneğidir:

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            

İşlem hattı değişkenleri

Belirteçleri güvenli bir şekilde aldıktan sonra geliştiricinin anahtar için bir ortam değişkeni yapılandırması gerekir. Ortam değişkeni, geliştiricinin curl'den alabileceği kabuk betiği aracılığıyla veya kabuk betiğini kendi deposuna el ile kopyalayarak CLI'ya geçirilir.

Veri Akışı Adı Değer
GDN_MDC_CLI_CLIENT_ID <İstemci kimliği>
GDN_MDC_CLI_CLIENT_SECRET <İstemci Gizli Dizisi>
GDN_MDC_CLI_TENANT_ID <Kiracı kimliği>
GDN_PIPELINENAME bitbucket, jenkins, gcp, bambu, circle, travis, teamcity, oci, aws

Bulut Güvenlik Gezgini'nde sonuçları gözden geçirme

  1. İşlem hattını başarıyla çalıştırdıktan sonra yeniden Bulut için Microsoft Defender gidin.

  2. Bulut için Defender menüsünde Bulut Güvenlik Gezgini'ni seçin.

  3. Kaynak türlerini seçin açılan listesini seçin, DevOps'yi ve ardından Bitti'yi seçin.

    Bulut Güvenlik Gezgini'ndeki CI/CD işlem hattının ekran görüntüsü.

  4. + Yeni bir arama ölçütü eklemek için simgeyi seçin.

    Bulut Güvenlik Gezgini'ndeki yeni aramanın ekran görüntüsü.

  5. Koşul seçin açılan listesini seçin. Ardından Veri'yi ve ardından Göndermeler'i seçin.

    Bulut Güvenlik Gezgini koşulunu seçme işleminin ekran görüntüsü.

  6. Kaynak türlerini seçin açılan listesini seçin. Ardından Kapsayıcılar'ı, ardından Kapsayıcı Görüntüleri'yi ve ardından Bitti'yi seçin.

    Bulut Güvenlik Gezgini'nde kapsayıcı görüntülerini seçme işleminin ekran görüntüsü.

  7. Ortam ayarlarında tümleştirme oluşturulurken seçilen kapsamı seçin.

    Kapsam Bulut Güvenlik Gezgini'nin seçilmesinin ekran görüntüsü.

  8. Ara'yı seçin.

    Bulut Güvenlik Gezgini'nde arama işleminin ekran görüntüsü.

  9. İşlem hattından görüntülere eşlemenin sonuçlarına bakın.

İzlenen kapsayıcılarla bağıntı

  1. Bulut Güvenlik Gezgini'nde şu sorguyu girin: CI/CD pipeline ->Pipeline + Container Images ->Contained in + Container registers (group).

  2. Kapsayıcı eşlemesini görmek için Kaynak adlarını gözden geçirin.