Dokumen ini menjelaskan cara memvalidasi infrastruktur sebagai kode (IaC) Anda berdasarkan kebijakan organisasi dan pendeteksi Security Health Analytics yang telah Anda tetapkan di organisasi Google Cloud. IaC dapat digunakan untuk membuat dan mengelola resource cloud menggunakan bahasa seperti Terraform, sehingga Anda dapat men-deploy resource menggunakan alur kerja pengembangan.
Dengan memvalidasi IaC, Anda dapat menentukan apakah definisi resource baru atau yang dimodifikasi melanggar kebijakan yang ada yang diterapkan ke resource Google Cloud Anda (misalnya, cluster, bucket, atau instance). Anda dapat menentukan kebijakan ini menggunakan posisi keamanan, tetapi fitur validasi IaC akan menganalisis kode Anda berdasarkan semua kebijakan di organisasi Google Cloud Anda. Validasi IaC membantu developer mengidentifikasi dan memperbaiki masalah keamanan apa pun di konfigurasi aset atau resource IaC sebelum diterapkan ke lingkungan Google Cloud Anda.
Fitur validasi IaC mendukung file paket Terraform. Anda dapat memvalidasi paket Terraform menggunakan Google Cloud CLI, atau Anda dapat mengintegrasikan proses validasi ke dalam alur kerja developer Jenkins atau GitHub Actions.
Sebelum memulai
Selesaikan tugas berikut untuk memulai validasi IaC.
Aktifkan paket Premium Security Command Center atau tingkat Enterprise
Pastikan tingkat Security Command Center Premium atau tingkat Enterprise diaktifkan di tingkat organisasi.
Siapkan izin
-
Make sure that you have the following role or roles on the organization: Security Posture Shift-Left Validator
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the organization.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Buka IAM - Pilih organisasi.
- Klik Berikan akses.
-
Di kolom New principals, masukkan ID pengguna Anda. Ini biasanya adalah alamat email untuk Akun Google.
- Di daftar Pilih peran, pilih peran.
- Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.
- Klik Simpan.
Untuk informasi selengkapnya tentang izin validasi IaC, lihat IAM untuk aktivasi tingkat organisasi.
Menyiapkan Google Cloud CLI
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Untuk menyiapkan gcloud CLI agar menggunakan peniruan akun layanan untuk mengautentikasi ke Google API, alih-alih kredensial pengguna Anda, jalankan perintah berikut:
gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
Untuk informasi selengkapnya, lihat Peniruan akun layanan.
Mengaktifkan API
Aktifkan API Security posture service and Security Command Center management.
Menentukan kebijakan Anda
Tentukan kebijakan organisasi dan pendeteksi Security Health Analytics Anda. Untuk menentukan kebijakan ini menggunakan postur keamanan, selesaikan tugas di Membuat dan men-deploy postur.
Buat kode Terraform Anda
Gunakan alur kerja dan alat developer Anda untuk membuat file Terraform yang mencakup aset Google Cloud yang ingin dibuat atau diubah.
Pertimbangkan hal berikut:
- Isi atribut induk (project, folder, atau organisasi) dari setiap resource atau aset dalam konfigurasi Terraform.
- Ubah aset dan kebijakan secara terpisah. API ini tidak mendukung validasi file paket Terraform yang mengubah aset dan kebijakan secara bersamaan.
- Hanya gunakan jenis dan kebijakan aset yang didukung. Untuk mengetahui daftar kebijakan dan jenis aset yang didukung, baca Jenis aset dan kebijakan yang didukung untuk validasi IaC.
- Tinjau batasan untuk validasi IaC.
- Jangan sertakan informasi sensitif, seperti sandi atau informasi identitas pribadi lainnya, dalam file paket Terraform Anda. Jika fitur validasi menemukan kolom yang ditandai sebagai sensitif dalam perubahan resource, kolom tersebut akan dihapus.
Setelah membuat kode Terraform, Anda dapat menjalankan laporan validasi IaC. Anda dapat menggunakan Google Cloud CLI, Jenkins, atau GitHub Actions.
Menggunakan Google Cloud CLI untuk membuat laporan validasi IaC
Untuk membuat laporan validasi IaC, lengkapi hal berikut:
Di gcloud CLI, jalankan
terraform init
.Pastikan Anda menjalankan penyedia Terraform versi v5.5 atau yang lebih baru. Jika diperlukan, upgrade ke penyedia Google versi terbaru:
terraform init -upgrade
Konversi file rencana Terraform ke format JSON:
terraform plan -out TF_PLAN_FILENAME terraform show -json TF_PLAN_FILENAME > TF_PLAN_JSON_FILENAME.json
Ganti kode berikut:
TF_PLAN_FILENAME
: Nama untuk file rencana Terraform.TF_PLAN_JSON_FILENAME
: Nama file yang akan berisi paket Terraform dalam format JSON.
Buat laporan validasi IaC:
gcloud scc iac-validation-reports create PARENT \ --tf-plan-file=TF_PLAN_JSON_FILENAME
Ganti kode berikut:
PARENT
: Organisasi Google Cloud tempat membuat laporan Validasi IaC. Formatnya adalahorganizations/ORGANIZATION_ID/locations/LOCATION
.LOCATION
adalahglobal
.TF_PLAN_JSON_FILENAME
: Jalur ke file JSON yang berisi paket IaC yang ingin Anda validasi.
Misalnya, untuk membuat laporan validasi IaC dalam organisasi
organizations/3589215982/locations/global
dengan paket IaC yang disertakan dalamplanFile.json
, jalankan perintah berikut:gcloud scc iac-validation-reports create organizations/3589215982/locations/global --tf-plan-file=planFile.json
Perintah ini menampilkan detail operasi untuk membuat laporan validasi IAC. Untuk mendapatkan informasi tentang operasi, baca Melihat informasi tentang operasi deployment postur.
Langkah selanjutnya
- Pelajari contoh tutorial.
- Integrasikan validasi IaC dengan GitHub Actions atau project Jenkins Anda.
- Kelola postur keamanan Anda.
-