Anda dapat menggunakan plugin Google Analyze Code Security untuk Jenkins guna 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 dan detektor Security Health Analytics yang ada dan diterapkan ke resource Anda. Google Cloud
Untuk mengetahui informasi selengkapnya tentang validasi IaC, lihat Memvalidasi IaC terhadap kebijakan organisasi Anda. Google Cloud
Validasi IaC hanya berfungsi dengan project freestyle Jenkins.
Sebelum memulai
Selesaikan tugas berikut untuk mulai menggunakan validasi IaC dengan Jenkins.
Mengaktifkan paket Premium Security Command Center atau paket Enterprise
Pastikan bahwa paket Premium Security Command Center atau paket Enterprise 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 console, buka halaman Create service account.
Buka Create service account - Pilih project Anda.
-
Di kolom Nama akun layanan, masukkan nama. Console akan mengisi kolom ID akun layanan berdasarkan nama ini. Google Cloud
Di kolom Deskripsi akun layanan, masukkan sebuah 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 Lanjutkan.
-
Klik Selesai 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.
Membuat akun layanan:
Membuat kunci akun layanan:
Untuk mengetahui informasi selengkapnya tentang izin validasi IaC, lihat IAM untuk aktivasi tingkat 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 Simpan.
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 freestyle 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. Misalnya,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. Misalnya,mytfplan.json.
Menambahkan plugin ke project Jenkins Anda
- Di konsol Jenkins, di project freestyle 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 dengan 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 atau 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 dengan 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 Simpan.
Sekarang 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.