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 menggunakan 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 bekerja dengan Security Command Center dan modul kustom, tetapi juga menyertakan izin securitycentermanagement.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 dikenai 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 tersebut tidak sesuai dengan instance resource atau kebijakan yang sebenarnya, tetapi definisi tersebut 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 Anda dalam 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 oleh modul kustom, yang ditentukan sebagai nama domain endpoint layanan API dan nama resource—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: Subproperti atau properti dari 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 masih sesuai dengan skema resource. Untuk definisi lengkap modul kustom yang diuji dalam 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."
        - "user:fake-email-account"

Menguji modul kustom

Anda dapat menguji modul kustom baru atau modul kustom yang sudah 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 Create module dan ikuti petunjuk di Membuat modul kustom.
    • Untuk membuka modul kustom yang ada, klik ikon edit () di bagian Actions di sisi kanan baris untuk modul yang ingin Anda uji.
  3. Pilih tab Test module.

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

  5. Di bagian Pratinjau hasil pengujian, periksa hasilnya.

    • Jika ada error sintaksis atau error lainnya 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 di 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