Menguji modul kustom untuk Security Health Analytics

Halaman ini menjelaskan cara menguji modul kustom Security Health Analytics di konsolGoogle 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 penggunaan modul kustom Security Health Analytics. 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 mencakup 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 mengetahui 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 kebijakan atau resource yang sebenarnya, tetapi definisi harus sesuai dengan skema jenis kebijakan atau resource 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 diselesaikan 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 di hasil pengujian saat pengujian berhasil.
  • RESOURCE_TYPE_N: Jenis aset atau resource yang diperiksa oleh 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 dari resource CryptoKey melebihi 2592000 detik (30 hari). Properti lain dalam definisi tidak digunakan dalam modul kustom, tetapi tetap sesuai dengan skema resource. Untuk 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 konsolGoogle 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 data aset contoh. Pengujian akan berjalan segera setelah file YAML diupload.

  5. Di bagian Pratinjau hasil pengujian, periksa hasilnya.

    • Jika ada sintaksis atau error lain dalam file YAML, pesan error mengambang akan ditampilkan di dekat bagian bawah halaman browser.
    • Jika pengujian 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 berikutnya