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. Make sure that you have the following role or roles on the organization: Security Posture Shift-Left Validator

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the organization.
    3. 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.

    4. 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

    1. In the Google Cloud console, go to the IAM page.

      Buka IAM
    2. Pilih organisasi.
    3. Klik Berikan akses.
    4. Di kolom New principals, masukkan ID pengguna Anda. Ini biasanya adalah alamat email untuk Akun Google.

    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

    Di konsol Google Cloud, aktifkan Cloud Shell.

    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.

    Mengaktifkan API

    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