Memvalidasi IaC berdasarkan kebijakan organisasi Google Cloud Anda

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

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

    Memeriksa peran

    1. Di konsol Google Cloud, buka halaman IAM.

      Buka IAM
    2. Pilih organisasi.
    3. 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.

    4. Di kolom Peran untuk baris yang berisi alamat email Anda, periksa apakah daftar peran menyertakan peran yang diperlukan.

    Memberikan peran

    1. Di konsol Google Cloud, buka halaman IAM.

      Buka IAM
    2. Pilih organisasi.
    3. Klik Berikan akses.
    4. Di kolom Akun utama baru, masukkan alamat email Anda.
    5. Di daftar Pilih peran, pilih peran.
    6. Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.
    7. 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

Enable the Security posture service and Security Command Center management APIs.

Enable the APIs

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:

  1. 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
    
  2. 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.
  3. 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 adalah organizations/ORGANIZATION_ID/locations/LOCATION. LOCATION adalah global.
    • 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 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, baca Melihat informasi tentang operasi deployment postur.

Langkah selanjutnya