Memvalidasi IaC berdasarkan kebijakan organisasi Google Cloud

Dokumen ini menjelaskan cara memvalidasi infrastruktur sebagai kode (IaC) terhadap kebijakan organisasi dan detektor Security Health Analytics yang telah Anda tentukan di Google Cloud organisasi Anda. 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 yang diterapkan ke Google Cloud resource Anda (misalnya, cluster, bucket, atau instance). Anda dapat menentukan kebijakan ini menggunakan postur keamanan, tetapi fitur validasi IaC menganalisis kode dan membandingkan kode dengan kebijakan efektif yang ditentukan dalam postur yang di-deploy di Google Cloud organisasi Anda. Validasi IaC membantu developer Anda mengidentifikasi dan memperbaiki masalah keamanan dalam konfigurasi IaC aset atau resource sebelum diterapkan ke Google Cloud lingkungan Anda.

Fitur validasi IaC mendukung file rencana Terraform. Anda dapat memvalidasi rencana Terraform menggunakan Google Cloud CLI, atau 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 bahwa paket Premium Security Command Center atau paket Enterprise diaktifkan di tingkat organisasi.

Menyiapkan izin

    Pastikan Anda memiliki peran berikut di organisasi: Security Posture Shift-Left Validator

    Memeriksa peran

    1. Di Google Cloud konsol, buka halaman IAM.

      Buka IAM
    2. Pilih organisasi.
    3. Di kolom Akun utama, temukan semua baris yang mengidentifikasi Anda atau grup yang Anda ikuti. Untuk mengetahui grup mana yang Anda ikuti, hubungi administrator Anda.

    4. Untuk semua baris yang menentukan atau menyertakan Anda, periksa kolom Peran untuk melihat apakah daftar peran menyertakan peran yang diperlukan.

    Memberikan peran

    1. Di Google Cloud konsol, buka halaman IAM.

      Buka IAM
    2. Pilih organisasi.
    3. Klik Grant access.
    4. Di kolom New principals, masukkan ID pengguna Anda. Biasanya, ini adalah alamat email untuk Akun Google.

    5. Klik Select a role, lalu telusuri peran.
    6. Untuk memberikan peran tambahan, klik Add another role , lalu tambahkan tiap peran tambahan.
    7. Klik Simpan.

Untuk mengetahui informasi selengkapnya tentang izin validasi IaC, lihat IAM untuk aktivasi tingkat organisasi.

Menyiapkan Google Cloud CLI

Di konsol, aktifkan Cloud Shell. Google Cloud

Aktifkan Cloud Shell

Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan prompt 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 pada 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 Security Posture dan Security Center Management API.

Peran yang diperlukan untuk mengaktifkan API

Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

Aktifkan API

Menentukan kebijakan

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 Anda 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 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 aset dan kebijakan yang didukung, lihat 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 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:

  1. 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
    
  2. 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.
  3. Buat laporan validasi IaC:

    gcloud scc iac-validation-reports create PARENT \
      --tf-plan-file=TF_PLAN_JSON_FILENAME.json
    

    Ganti kode berikut:

    • PARENT: Organisasi tempat laporan Validasi IaC akan dibuat. Google Cloud Formatnya adalah organizations/ORGANIZATION_ID/locations/LOCATION. LOCATION adalah global.
    • TF_PLAN_JSON_FILENAME: Jalur ke file JSON yang berisi rencana IaC yang ingin Anda validasi.

    Misalnya, untuk membuat laporan validasi IaC di organisasi organizations/3589215982/locations/global dengan rencana IaC yang disertakan dalam planFile.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 berikutnya