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 yang ada dan pendeteksi Security Health Analytics yang diterapkan ke resource Google Cloud Anda.
Untuk mengetahui informasi selengkapnya tentang validasi IaC, lihat Memvalidasi IaC terhadap kebijakan organisasi Google Cloud Anda.
Validasi IaC hanya berfungsi dengan project freestyle jenkins.
Sebelum memulai
Selesaikan tugas berikut untuk memulai validasi IaC dengan Jenkins.
Mengaktifkan paket Premium Security Command Center atau paket Enterprise
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.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the Security Posture Shift-Left Validator role to the service account.
To grant the role, find the Select a role list, then select Security Posture Shift-Left Validator.
- Click Continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
Untuk mengetahui informasi selengkapnya tentang izin validasi IaC, lihat IAM untuk aktivasi tingkat organisasi.
Menentukan kebijakan Anda
Tentukan kebijakan organisasi dan detektor Security Health Analytics. 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 Tersedia, 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 organisasi Google Cloud yang menyertakan resource Terraform yang ingin Anda buat atau ubah.
- Di Kredensial Security Command Center, 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.
Instal plugin Terraform untuk Jenkins.
Di konsol Jenkins, di project freestyle Jenkins, 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 init
Buat file rencana Terraform.
terraform plan -out=TF_PLAN_FILE
Ganti
TF_PLAN_FILE
dengan nama untuk file rencana Terraform. Contoh,myplan.tfplan
.Konversikan 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 file rencana Terraform, dalam format JSON. Contoh,mytfplan.json
.
Menambahkan plugin ke project Jenkins
- Di konsol Jenkins, di project freestyle Jenkins, 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 keparahan kritis, tinggi, sedang, dan rendah yang ditemukan oleh pemindaian validasi IaC. Anda dapat menentukan jumlah masalah dari setiap tingkat keparahan yang diizinkan dan cara masalah digabungkan (AND atau OR).
Klik Gagal jika terjadi Pelanggaran Aset.
Jika Anda ingin build gagal hanya jika jumlah masalah dari semua tingkat keparahan tercapai, pilih AND. Jika Anda ingin build gagal jika jumlah masalah dari tingkat keparahan apa pun tercapai, pilih ATAU. Misalnya, jika Anda ingin build gagal jika mengalami satu masalah kritis atau satu masalah dengan tingkat keparahan tinggi, tetapkan nilai gabungan ke ATAU.
Tunjukkan jumlah masalah pada berbagai tingkat keparahan yang ingin Anda izinkan sebelum build gagal.
Jika Anda tidak ingin menentukan kriteria kegagalan, pilih Abaikan Pelanggaran Aset.
Klik Simpan.
Sekarang Anda dapat menjalankan build untuk memvalidasi file rencana Terraform.
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 keparahannya. Bagian pelanggaran menjelaskan aturan mana yang tidak terpenuhi dan ID aset dari rencana Terraform yang melanggar aturan.
- Jika build gagal, laporan ringkasan error
- Jika plugin berjalan, laporan pelanggaran (
Selesaikan pelanggaran apa pun dalam kode Terraform Anda sebelum menerapkannya.