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
    • Pengaktifan Security Command Center API

    Untuk daftar lengkap prasyarat, lihat Menggunakan modul kustom untuk Analisis Kondisi Keamanan.

  • Akun pengguna Anda harus diberi satu atau beberapa peran Identity and Access Management (IAM) sehingga Anda tidak hanya dapat menggunakan Security Command Center dan modul kustom, tetapi juga menyertakan izin securitycenter.securityhealthanalyticscustommodules.test. Untuk informasi selengkapnya tentang izin dan peran yang Anda butuhkan untuk bekerja dengan 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 mendefinisikan definisi resource palsu, definisi kebijakan palsu, atau keduanya dalam file YAML.

Definisinya tidak sesuai dengan instance kebijakan atau resource 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 dalam modul kustom, tentukan nilai properti dalam file pengujian yang menyebabkan ekspresi CEL di-resolve menjadi 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 ditetapkan 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 resource target dalam definisi resource-nya.

Contoh definisi pengujian

Bagian ini berisi contoh definisi resource pengujian dan definisi kebijakan pengujian. Meskipun kedua contoh tersebut 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 tersebut tidak digunakan pada modul kustom, tetapi tetap sesuai dengan skema resource. Untuk definisi lengkap modul kustom yang diuji oleh 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 sudah 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 Modules

  2. Buka atau buat modul kustom untuk pengujian:

    • Untuk membuat modul kustom baru, klik Buat modul dan ikuti petunjuk dalam 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 the YAML file, klik Browse 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 error sintaksis atau 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 selanjutnya