Menguji modul kustom untuk Security Health Analytics

Halaman ini menjelaskan cara menguji modul kustom Security Health Analytics di konsol Google Cloud dengan mengupload file YAML yang berisi data pengujian.

Sebelum memulai

Sebelum dapat menguji modul kustom, Anda harus memenuhi prasyarat berikut:

  • Semua prasyarat umum yang berlaku untuk menggunakan modul kustom Security Health Analytics, termasuk hal berikut:

    • Aktivasi tingkat layanan Premium
    • Mengaktifkan Security Command Center API

    Untuk mengetahui daftar lengkap prasyarat, lihat Menggunakan modul kustom untuk Security Health Analytics.

  • Akun pengguna Anda harus diberi satu atau beberapa peran Identity and Access Management (IAM) yang memungkinkan Anda tidak hanya menggunakan Security Command Center dan modul kustom, tetapi juga menyertakan izin securitycenter.securityhealthanalyticscustommodules.test. Untuk mengetahui informasi selengkapnya tentang izin dan peran yang Anda perlukan untuk menggunakan modul kustom, lihat Izin IAM yang diperlukan.

  • Panggilan API untuk menguji modul kustom tunduk pada kuota. Untuk informasi selengkapnya, lihat Kuota modul kustom.

Membuat resource pengujian dalam file YAML

Untuk menguji modul kustom, Anda menentukan definisi resource palsu, definisi kebijakan palsu, atau keduanya dalam file YAML.

Definisi tidak sesuai dengan instance resource atau kebijakan yang sebenarnya, tetapi definisi harus sesuai dengan skema jenis resource atau kebijakan yang ditentukan dalam modul kustom Anda.

Dalam definisi pengujian, satu-satunya properti yang perlu Anda tentukan adalah properti yang dievaluasi oleh modul kustom Anda. Anda tidak perlu menyertakan properti resource yang tidak direferensikan oleh modul kustom.

Untuk menguji ekspresi CEL di modul kustom, tentukan nilai properti dalam file pengujian yang menyebabkan ekspresi CEL di-resolve ke true.

Format data pengujian

Mulai file dengan testData: di baris pertama, diikuti dengan satu atau beberapa definisi - asset.

testData:
- asset:
    resource: ARBITRARY_ASSET_NAME_1
    assetType: RESOURCE_TYPE_1
    resourceData:
      PROPERTIES_TO_TEST_1: PROPERTY_VALUE_1
        SUB_PROPERTY: SUB_PROPERTY_VALUE
      PROPERTIES_TO_TEST_2: PROPERTY_VALUE_2
- asset:
    resource: ARBITRARY_ASSET_NAME_2
    assetType: RESOURCE_TYPE_2
    iamPolicyData:
      PROPERTIES_TO_TEST_3: PROPERTY_VALUE_3
      PROPERTIES_TO_TEST_4: PROPERTY_VALUE_4

Ganti kode berikut:

  • ARBITRARY_ASSET_NAME_N: Nilai arbitrer yang ditampilkan dalam hasil pengujian saat pengujian berhasil.
  • RESOURCE_TYPE_N: Jenis aset atau resource yang diperiksa modul kustom, yang ditentukan sebagai nama domain endpoint layanan dan nama resource API—misalnya, cloudkms.googleapis.com/CryptoKey.
  • PROPERTIES_TO_TEST_N: Properti yang digunakan dalam logika deteksi modul kustom untuk memicu temuan.
  • PROPERTY_VALUE_N: Nilai properti yang memicu temuan.
  • SUB_PROPERTY: Sub-properti atau properti resource lain yang dirujuk oleh resource target dalam definisi resource-nya.

Contoh definisi pengujian

Bagian ini berisi contoh definisi resource pengujian dan definisi kebijakan pengujian. Meskipun kedua contoh ditampilkan sebagai ditentukan dalam file terpisah, definisi asset untuk resource dan kebijakan dapat digabungkan dalam satu file testData.

Contoh definisi resource

Contoh definisi resource pengujian berikut menguji modul kustom yang memeriksa apakah properti rotationPeriod resource CryptoKey melebihi 2592000 detik (30 hari). Properti lainnya dalam definisi tidak digunakan dalam modul kustom, tetapi masih sesuai dengan skema resource. Untuk mengetahui definisi lengkap modul kustom yang diuji contoh ini, lihat Contoh definisi modul kustom.

testData:
- asset:
    resource: THE CRYPTOKEY TEST WAS SUCCESSFUL!
    assetType: cloudkms.googleapis.com/CryptoKey
    resourceData:
      nextRotationTime:  '2020-02-05T12:00:55.192645Z'
      primary:
        state: 'ENABLED'
      purpose: 'ENCRYPT_DECRYPT'
      rotationPeriod: '2592001s'

Contoh definisi kebijakan

Berikut adalah contoh definisi pengujian untuk kebijakan IAM:

testData:
- asset:
    resource: //cloudresourcemanager.googleapis.com/projects/fake-project
    assetType: cloudresourcemanager.googleapis.com/Project
    iamPolicyData:
      bindings:
      - role: "roles/viewer"
        members:
        - "serviceAccount:fake-service-account@compute-system.iam.gserviceaccount.com"
        - "user:fake-email-account"

Menguji modul kustom

Anda dapat menguji modul kustom baru atau modul kustom yang ada di konsol Google Cloud.

Untuk menguji modul kustom, ikuti langkah-langkah berikut:

  1. Buka halaman Modules Security Health Analytics di setelan Security Command Center.

    Buka Modul

  2. Buka atau buat modul kustom untuk pengujian:

    • Untuk membuat modul kustom baru, klik Buat modul dan ikuti petunjuk di bagian Membuat modul kustom.
    • Untuk membuka modul kustom yang ada, klik ikon edit () di bagian Tindakan di sisi kanan baris untuk modul yang ingin Anda uji.
  3. Pilih tab Uji modul.

  4. Di bagian Upload file YAML, klik Jelajahi untuk mengupload file yang berisi contoh data aset. Pengujian akan berjalan segera setelah file YAML diupload.

  5. Di bagian Pratinjau hasil pengujian, periksa hasilnya.

    • Jika ada sintaksis atau error lainnya dalam file YAML, pesan error yang mengambang akan ditampilkan di dekat bagian bawah halaman browser.
    • Jika berhasil, pengujian akan menampilkan informasi berikut:

      • Nama tampilan modul kustom.
      • Nama arbitrer yang Anda tentukan pada properti resource dalam file data pengujian.
      • Organisasi, folder, atau project tempat modul kustom dibuat, atau akan dibuat.

    Hasil pengujian tidak disimpan atau ditulis ke Security Command Center.

Langkah selanjutnya