Mengintegrasikan validasi IaC dengan Jenkins

Anda dapat menggunakan plugin Google Analyze Code Security untuk Jenkins untuk memvalidasi Infrastructure as Code (IaC) yang merupakan bagian dari project Jenkins Anda. Dengan memvalidasi IaC, Anda dapat menentukan apakah definisi resource Terraform Anda melanggar kebijakan organisasi yang ada dan Pendeteksi Security Health Analytics yang diterapkan ke resource Google Cloud Anda.

Untuk informasi selengkapnya tentang validasi IaC, lihat Validasi IaC berdasarkan kebijakan organisasi Google Cloud Anda.

Validasi IaC hanya berfungsi dengan Jenkins freestyle project.

Sebelum memulai

Selesaikan tugas ini untuk mulai menggunakan validasi IaC dengan Jenkins.

Aktifkan paket Enterprise atau paket Premium Security Command Center Premium

Verifikasi bahwa Paket Security Command Center Premium atau paket Enterprise diaktifkan di tingkat organisasi.

Mengaktifkan Security Command Center mengaktifkan securityposture.googleapis.com dan securitycentermanagement.googleapis.com API.

Membuat akun layanan

Buat akun layanan yang dapat Anda gunakan untuk Google Analyze Code Security plugin untuk Jenkins.

  1. Buat akun layanan:

    1. Di konsol Google Cloud, buka halaman Buat akun layanan.

      Buka Create service account
    2. Pilih project Anda.
    3. Di kolom Nama akun layanan, masukkan nama. Konsol Google Cloud akan mengisi kolom ID akun layanan berdasarkan nama ini.

      Di kolom Deskripsi akun layanan, masukkan sebuah deskripsi. Sebagai contoh, Service account for quickstart.

    4. Klik Buat dan lanjutkan.
    5. Berikan peran Security Posture Shift-Left Validator ke akun layanan.

      Untuk memberikan peran, temukan daftar Pilih peran, lalu pilih Security Posture Shift-Left Validator.

    6. Klik Lanjutkan.
    7. Klik Selesai untuk menyelesaikan pembuatan akun layanan.

      Jangan tutup jendela browser Anda. Anda akan menggunakannya pada langkah berikutnya.

  2. Membuat kunci akun layanan:

    1. Di konsol Google Cloud, klik alamat email untuk akun layanan yang telah dibuat.
    2. Klik Kunci.
    3. Klik Tambahkan kunci, lalu klik Buat kunci baru.
    4. Klik Create. File kunci JSON akan didownload ke komputer Anda.
    5. Klik Close.

Untuk informasi selengkapnya tentang izin validasi IaC, lihat IAM untuk tingkat organisasi aktivasi.

Menentukan kebijakan

Tentukan kebijakan organisasi dan Pendeteksi Security Health Analytics. Untuk menentukan kebijakan ini menggunakan postur keamanan, selesaikan tugas di Buat dan terapkan postur.

Menginstal dan mengonfigurasi plugin

  1. Di konsol Jenkins, klik Manage Jenkins > Kelola Plugin.
  2. Di tab Available, telusuri google-analyze-code-security.
  3. Selesaikan langkah-langkah penginstalan.
  4. Klik Manage Jenkins > Konfigurasikan Sistem.
  5. Di bagian Google Analyze Code Security, klik Add credential.
  6. Di Organization ID, masukkan ID organisasi untuk Google Cloud organisasi yang menyertakan resource Terraform yang ingin Anda buat atau modifikasi.
  7. Di Security Command Center Credential, tambahkan kunci akun layanan.
  8. Uji koneksi untuk memverifikasi kredensial akun layanan.
  9. Klik Simpan.

Membuat file JSON paket Terraform

  1. Buat kode Terraform Anda. Untuk mengetahui petunjuknya, lihat Buat kode Terraform.

  2. Instal plugin Terraform untuk Jenkins.

  3. Di konsol Jenkins, dalam project gaya bebas Jenkins Anda, buka Halaman Konfigurasi.

  4. Klik Source Code Management.

  5. Di Repository URL, masukkan URL ke kode Terraform yang Anda buat.

  6. Klik Build steps.

  7. Tambahkan langkah-langkah berikut:

    1. Lakukan inisialisasi Terraform:

      terraform init
      
    2. Membuat file rencana Terraform.

      terraform plan -out=TF_PLAN_FILE
      

      Ganti TF_PLAN_FILE dengan nama untuk paket Terraform . Contoh, myplan.tfplan.

    3. Konversi file rencana Anda ke format JSON:

      terraform show -no-color -json TF_PLAN_FILE > TF_PLAN_JSON_FILE
      

      Ganti TF_PLAN_JSON_FILE dengan nama untuk Terraform , dalam format JSON. Contoh, mytfplan.json.

Menambahkan plugin ke project Jenkins Anda

  1. Di konsol Jenkins, dalam project gaya bebas Jenkins Anda, buka Halaman Konfigurasi.
  2. Di Langkah Build, klik Tambahkan langkah build > Lakukan Pemindaian Kode selama Build.
  3. Masukkan ID organisasi Anda.
  4. Berikan jalur ke file rencana Terraform Anda, dalam format JSON.
  5. Opsional: Menetapkan kriteria kegagalan build. Kriteria kegagalan didasarkan pada jumlah masalah dengan tingkat keparahan kritis, tinggi, sedang, dan rendah yang pemindaian validasi. Anda dapat menentukan jumlah masalah dari setiap tingkat keparahan diizinkan dan cara masalah digabungkan (baik AND maupun ATAU).

    1. Klik Fail on Asset Pelanggaran.

    2. Jika Anda ingin build gagal hanya jika jumlah masalah dari semua mencapai tingkat keparahan, pilih DAN. Jika Anda ingin build gagal jika jumlah masalah dari tingkat keparahan apa pun tercapai, pilih ATAU. Misalnya, jika Anda ingin build gagal jika menemui satu serangan kritis atau satu masalah dengan tingkat keparahan tinggi, tetapkan nilai gabungan ke OR.

    3. Menunjukkan jumlah masalah di berbagai tingkat keparahan yang Anda inginkan sebelum membangunnya gagal.

    Jika Anda tidak ingin menentukan kriteria kegagalan, pilih Ignore Asset Pelanggaran.

  6. Klik Simpan.

Sekarang Anda dapat menjalankan build untuk memvalidasi file paket Terraform.

Melihat laporan pelanggaran IaC

  1. Di konsol Jenkins, klik alur kerja terbaru untuk build Anda.

  2. Klik Status. File HTML berikut tersedia sebagai artefak build:

    • Jika plugin berjalan, laporan pelanggaran (GoogleAnalyzeCodeSecurity_ViolationSummary.html)

    Laporan ini mengelompokkan pelanggaran menurut tingkat keparahan. Bagian pelanggaran menjelaskan aturan mana yang tidak dipenuhi dan ID aset dari paket Terraform yang melanggar aturan tersebut.

    • Jika build gagal, laporan ringkasan error
  3. Selesaikan pelanggaran apa pun dalam kode Terraform Anda sebelum menerapkannya.

Langkah selanjutnya