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
-
Pastikan Anda memiliki peran berikut di organisasi: Security Posture Shift-Left Validator
Memeriksa peran
-
Di konsol Google Cloud, buka halaman IAM.
Buka IAM - Pilih organisasi.
-
Di kolom Akun utama, cari baris yang berisi alamat email Anda.
Jika alamat email Anda tidak ada di kolom tersebut, berarti Anda tidak memiliki peran apa pun.
- Di kolom Peran untuk baris yang berisi alamat email Anda, periksa apakah daftar peran menyertakan peran yang diperlukan.
Memberikan peran
-
Di konsol Google Cloud, buka halaman IAM.
Buka IAM - Pilih organisasi.
- Klik Berikan akses.
- Di kolom Akun utama baru, masukkan alamat email Anda.
- 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
Anda dapat menggunakan sampel gcloud CLI di halaman ini dari salah satu lingkungan pengembangan berikut:
-
Cloud Shell: Untuk menggunakan terminal online dengan gcloud CLI yang sudah disiapkan, aktifkan Cloud Shell.
Di bagian bawah halaman ini, sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Perlu waktu beberapa detik hingga sesi dimulai.
-
Shell lokal: Untuk menggunakan gcloud CLI di lingkungan pengembangan lokal, instal dan initialize gcloud CLI.
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.