Mengintegrasikan CLI Defender untuk Cloud dengan alur CI/CD
Defender untuk Cloud Command Line Interface (CLI) adalah aplikasi yang dapat Anda gunakan dalam alur integrasi berkelanjutan dan penyebaran berkelanjutan (CI/CD). Ini menjalankan alat analisis statis dan menghubungkan kode ke layanan cloud. Anda dapat menggunakan CLI Defender untuk Cloud dalam proses build apa pun untuk memindai gambar untuk kerentanan keamanan dengan pemindai keamanan bawaan. Ini mengirimkan hasil pemindaian ke portal Defender untuk Cloud. Cloud Security Explorer kemudian dapat mengakses gambar kontainer dan kerentanannya.
Prasyarat
Langganan Azure dengan Defender untuk Cloud onboarding. Jika Anda belum memiliki akun Azure, buat akun secara gratis.
Salah satu alat alur CI/CD berikut: Jenkins, BitBucket Pipelines, Google Cloud Build, Bamboo, CircleCI, Travis CI, TeamCity, layanan Oracle DevOps, AWS CodeBuild
Defender CSPM diaktifkan.
Izin Admin Keamanan untuk membuat ID klien dan rahasia.
Siapkan
Di bagian berikut, kami menjelaskan cara mengambil ID Klien dan Rahasia, memperbarui skrip alur CI/CD, dan menambahkan variabel lingkungan ke alur CI/CD.
Mengambil Token API
Untuk mengizinkan data keamanan dari CLI Defender untuk Cloud diteruskan ke backend Defender untuk Cloud, admin keamanan di Defender untuk Cloud harus terlebih dahulu menghasilkan kunci API dari Defender untuk Cloud untuk autentikasi.
Saat token dibuat, admin keamanan memilih cakupan langganan yang akan dikaitkan dengan token. Data yang "didorong" ke Defender untuk Cloud dari token ini dilingkupkan ke langganan yang dikaitkan dengan token. Token API ini tidak dapat diubah dan hanya dapat dihasilkan/dihapus.
Dari sana, admin keamanan harus meneruskan token dengan aman kepada pengembang untuk ditambahkan ke alur CI/CD.
Masuk ke portal Azure.
Buka Microsoft Defender untuk Cloud> Kelola>Integrasi Pengaturan>Lingkungan.
Pilih Tambahkan integrasi lalu pilih DevOps Ingestion.
Masukkan nama deskriptif untuk token, penyewa yang dipilih menyimpan informasi token. Rahasia klien dihasilkan saat Anda memasukkan deskripsi untuk rahasia dan tanggal kedaluwarsa.
Aktifkan token di Konfigurasi dan buat token.
Salin setiap token. Mereka tidak dapat diedit atau diambil setelah Anda memilih OK.
Dalam tabel Integrasi, Penyerapan baru ditampilkan.
Memperbarui skrip alur CI/CD
Setiap alat alur CI/CD memiliki sintaks yang berbeda. Kode ini adalah contoh alur 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
Variabel alur
Setelah menerima token dengan aman, pengembang harus mengonfigurasi variabel lingkungan untuk kunci. Variabel lingkungan diteruskan ke CLI melalui skrip shell yang dapat diterima pengembang dari curl atau menyalin skrip shell secara manual ke repositori mereka.
Nama | Nilai |
---|---|
GDN_MDC_CLI_CLIENT_ID | <Id klien> |
GDN_MDC_CLI_CLIENT_SECRET | <Rahasia Klien> |
GDN_MDC_CLI_TENANT_ID | <Id penyewa> |
GDN_PIPELINENAME | bitbucket, jenkins, gcp, bambu, lingkaran, travis, teamcity, oci, aws |
Meninjau hasil di Cloud Security Explorer
Setelah berhasil menjalankan alur, navigasikan lagi ke Microsoft Defender untuk Cloud.
Di menu Defender untuk Cloud, pilih Cloud Security Explorer.
Pilih Dropdown Pilih jenis sumber daya, pilih DevOps, lalu pilih Selesai.
+ Pilih ikon untuk menambahkan kriteria pencarian baru.
Pilih menu dropdown Pilih kondisi. Lalu pilih Data, lalu pilih Dorong.
Pilih menu dropdown Pilih jenis sumber daya. Lalu pilih Kontainer, lalu Gambar Kontainer lalu pilih Selesai.
Pilih cakupan yang dipilih selama pembuatan integrasi di Pengaturan lingkungan.
Pilih Cari.
Lihat hasil pemetaan alur ke gambar.
Berkorelasi dengan kontainer yang dipantau
Di Cloud Security Explorer, masukkan kueri berikut: CI/CD Pipeline ->Pipeline + Container Images ->Contained in + Container registers (group).
Tinjau Nama sumber daya untuk melihat pemetaan kontainer.