Anda dapat menggunakan plugin Google Analyze Code Security untuk Jenkins guna memvalidasi infrastruktur sebagai kode (IaC) yang merupakan bagian dari project Jenkins Anda. Dengan memvalidasi IaC, Anda dapat menentukan apakah definisi resource Terraform Anda melanggar kebijakan organisasi dan detektor Security Health Analytics yang ada yang diterapkan ke Google Cloud resource Anda.
Untuk mengetahui informasi selengkapnya tentang validasi IaC, lihat Memvalidasi IaC terhadap kebijakan organisasi Anda. Google Cloud
Validasi IaC hanya berfungsi dengan project gaya bebas Jenkins.
Sebelum memulai
Selesaikan tugas berikut untuk mulai menggunakan validasi IaC dengan Jenkins.
Mengaktifkan paket Premium atau Enterprise Security Command Center
Pastikan paket Premium atau Enterprise Security Command Center diaktifkan di tingkat organisasi.
Mengaktifkan Security Command Center akan mengaktifkan API securityposture.googleapis.com dan securitycentermanagement.googleapis.com.
Membuat akun layanan
Buat akun layanan yang dapat Anda gunakan untuk plugin Google Analyze Code Security untuk Jenkins.
-
Pastikan Anda memiliki peran IAM Membuat Akun Layanan
(
roles/iam.serviceAccountCreator) dan peran IAM Admin Project (roles/resourcemanager.projectIamAdmin). Pelajari cara memberikan peran. -
Di Google Cloud konsol, buka halaman Buat akun layanan.
Buka Buat akun layanan - Pilih project Anda.
-
Di kolom Nama akun layanan, masukkan nama. Konsol akan mengisi kolom ID akun layanan berdasarkan nama ini. Google Cloud
Di kolom Deskripsi akun layanan, masukkan deskripsi. Sebagai contoh,
Service account for quickstart. - Klik Create and continue.
-
Berikan peran Security Posture Shift-Left Validator ke akun layanan.
Untuk memberikan peran, temukan daftar Select a role, lalu pilih Security Posture Shift-Left Validator.
- Klik Continue.
-
Klik Done untuk menyelesaikan pembuatan akun layanan.
Jangan tutup jendela browser Anda. Anda akan menggunakannya pada langkah berikutnya.
- Di Google Cloud console, klik alamat email untuk akun layanan yang telah dibuat.
- Klik Keys.
- Klik Tambahkan kunci, lalu klik Buat kunci baru.
- Klik Create. File kunci JSON akan didownload ke komputer Anda.
- Klik Close.
Buat akun layanan:
Membuat kunci akun layanan:
Untuk mengetahui informasi selengkapnya tentang izin validasi IaC, lihat IAM untuk aktivasi level organisasi.
Menentukan kebijakan Anda
Tentukan kebijakan organisasi dan detektor Security Health AnalyticsAnda. Untuk menentukan kebijakan ini menggunakan postur keamanan, selesaikan tugas di Membuat dan men-deploy postur.
Menginstal dan mengonfigurasi plugin
- Di konsol Jenkins, klik Manage Jenkins > Manage Plugins.
- Di tab Available, telusuri google-analyze-code-security.
- Selesaikan langkah-langkah penginstalan.
- Klik Manage Jenkins > Configure System.
- Di bagian Google Analyze Code Security, klik Add credential.
- Di Organization ID, masukkan ID organisasi untuk Google Cloud organisasi yang menyertakan resource Terraform yang ingin Anda buat atau ubah.
- Di Security Command Center Credential, tambahkan kunci akun layanan.
- Uji koneksi untuk memverifikasi kredensial akun layanan.
- Klik Save.
Membuat file JSON rencana Terraform
Buat kode Terraform Anda. Untuk mengetahui petunjuknya, lihat Membuat kode Terraform Anda.
Instal plugin Terraform untuk Jenkins.
Di konsol Jenkins, di project gaya bebas Jenkins Anda, buka halaman Configuration.
Klik Source Code Management.
Di Repository URL, masukkan URL ke kode Terraform yang Anda buat.
Klik Build steps.
Tambahkan langkah-langkah berikut:
Lakukan inisialisasi Terraform:
terraform initBuat file rencana Terraform.
terraform plan -out=TF_PLAN_FILEGanti
TF_PLAN_FILEdengan nama untuk file rencana Terraform. Sebagai contoh,myplan.tfplan.Konversikan file rencana Anda ke format JSON:
terraform show -no-color -json TF_PLAN_FILE > TF_PLAN_JSON_FILEGanti
TF_PLAN_JSON_FILEdengan nama untuk file rencana Terraform, dalam format JSON. Sebagai contoh,mytfplan.json.
Menambahkan plugin ke project Jenkins Anda
- Di konsol Jenkins, di project gaya bebas Jenkins Anda, buka halaman Configuration.
- Di Build Steps, klik Add build step > Perform Code Scan during Build.
- Masukkan ID organisasi Anda.
- Berikan jalur ke file rencana Terraform Anda, dalam format JSON.
Opsional: Tetapkan kriteria kegagalan build. Kriteria kegagalan didasarkan pada jumlah masalah tingkat keseriusan kritis, tinggi, sedang, dan rendah yang ditemui oleh pemindaian validasi IaC. Anda dapat menentukan jumlah masalah dari setiap tingkat keseriusan yang diizinkan dan cara masalah diagregasi (baik AND maupun OR).
Klik Fail on Asset Violation.
Jika Anda ingin build gagal hanya jika jumlah masalah dari semua tingkat keseriusan tercapai, pilih AND. Jika Anda ingin build gagal jika jumlah masalah dari tingkat keseriusan apa pun tercapai, pilih OR. Misalnya, jika Anda ingin build gagal jika menemukan satu masalah kritis atau satu masalah tingkat keseriusan tinggi, tetapkan nilai agregat ke OR.
Tunjukkan jumlah masalah pada berbagai tingkat keseriusan yang ingin Anda izinkan sebelum build gagal.
Jika Anda tidak ingin menentukan kriteria kegagalan, pilih Ignore Asset Violation.
Klik Save.
Kini Anda dapat menjalankan build untuk memvalidasi file rencana Terraform Anda.
Melihat laporan pelanggaran IaC
Di konsol Jenkins, klik alur kerja terbaru untuk build Anda.
Klik Status. File HTML berikut tersedia sebagai artefak build:
- Jika plugin berjalan, laporan pelanggaran (
GoogleAnalyzeCodeSecurity_ViolationSummary.html)
Laporan ini mengelompokkan pelanggaran berdasarkan tingkat keseriusan. Bagian pelanggaran menjelaskan aturan mana yang tidak terpenuhi dan ID aset dari rencana Terraform yang melanggar aturan tersebut.
- Jika build gagal, laporan ringkasan error
- Jika plugin berjalan, laporan pelanggaran (
Selesaikan pelanggaran apa pun dalam kode Terraform Anda sebelum menerapkannya.