Dokumen ini menjelaskan cara memvalidasi infrastruktur sebagai kode (IaC) terhadap kebijakan organisasi dan detektor Security Health Analytics yang telah Anda tentukan di organisasi Google Cloud. IaC memungkinkan Anda membuat dan mengelola resource cloud menggunakan bahasa seperti Terraform sehingga Anda dapat men-deploy resource menggunakan alur kerja pengembangan. Fitur validasi IaC hanya mendukung kebijakan organisasi dan detektor Security Health Analytics.
Dengan memvalidasi IaC, Anda dapat menentukan apakah definisi resource baru atau yang diubah melanggar kebijakan yang ada dan diterapkan ke resource Google Cloud Anda (misalnya, cluster, bucket, atau instance). Anda dapat menentukan kebijakan ini menggunakan postur 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 dalam konfigurasi IaC aset atau resource sebelum diterapkan ke lingkungan Google Cloud Anda.
Fitur validasi IaC mendukung file rencana Terraform. Anda dapat memvalidasi rencana Terraform menggunakan Google Cloud CLI, atau Anda dapat mengintegrasikan proses validasi ke dalam alur kerja developer Cloud Build, Jenkins, atau GitHub Actions.
Sebelum memulai
Selesaikan tugas berikut untuk memulai validasi IaC.
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
.
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 mengetahui informasi selengkapnya tentang izin validasi IaC, lihat IAM untuk aktivasi tingkat organisasi.
Menyiapkan Google Cloud CLI
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
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.
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.
Membuat kode Terraform
Gunakan alur kerja dan alat developer untuk membuat file Terraform yang menyertakan aset Google Cloud yang ingin Anda buat atau ubah.
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 rencana Terraform yang mengubah aset dan kebijakan secara bersamaan.
- Hanya gunakan jenis aset dan kebijakan yang didukung. Untuk mengetahui daftar jenis dan kebijakan aset yang didukung, lihat Jenis dan kebijakan aset yang didukung untuk validasi IaC.
- Tinjau batasan untuk validasi IaC.
- Jangan sertakan informasi sensitif seperti sandi atau informasi identitas pribadi lainnya dalam file rencana 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 gcloud CLI, Cloud Build, Jenkins, atau GitHub Actions.
Menggunakan Google Cloud CLI untuk membuat laporan validasi IaC
Untuk membuat laporan validasi IaC, selesaikan langkah-langkah berikut:
Di gcloud CLI, jalankan
terraform init
.Pastikan Anda menjalankan penyedia Terraform versi v5.5 atau yang lebih baru. Jika diperlukan, upgrade ke versi penyedia Google terbaru:
terraform init -upgrade
Konversikan 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 rencana Terraform dalam format JSON.
Buat laporan validasi IaC:
gcloud scc iac-validation-reports create PARENT \ --tf-plan-file=TF_PLAN_JSON_FILENAME.json
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 rencana IaC yang ingin Anda validasi.
Misalnya, untuk membuat laporan validasi IaC di bawah organisasi
organizations/3589215982/locations/global
dengan rencana 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, lihat Melihat informasi tentang operasi deployment postur.
Langkah selanjutnya
- Tinjau tutorial contoh.
- Integrasikan validasi IaC dengan alur kerja Cloud Build.
- Integrasikan validasi IaC dengan GitHub Actions atau project Jenkins Anda.
- Kelola postur keamanan Anda.
-