測試 Security Health Analytics 的自訂模組

本頁面說明如何在Google Cloud 控制台測試安全狀態分析自訂模組,方法是上傳含有測試資料的 YAML 檔案。

事前準備

測試自訂模組前,請先滿足下列必要條件:

  • 使用安全狀態分析自訂模組的所有一般必要條件。如需完整的必要條件清單,請參閱「使用安全狀態分析的自訂模組」。
  • 您的使用者帳戶必須具備一或多個 Identity and Access Management (IAM) 角色,才能使用 Security Command Center 和自訂模組,且必須包含 securitycentermanagement.securityhealthanalyticscustommodules.test 權限。如要進一步瞭解使用自訂模組所需的權限和角色,請參閱「必要的 IAM 權限」。
  • 測試自訂模組的 API 呼叫有配額限制。詳情請參閱「自訂模組配額」。

在 YAML 檔案中建立測試資源

如要測試自訂模組,請在 YAML 檔案中定義假資源定義、假政策定義,或兩者皆定義。

這些定義不對應實際資源或政策執行個體,但必須符合自訂模組中指定的資源或政策類型架構。

在測試定義中,您只需要指定自訂模組評估的屬性。您不需要加入自訂模組未參照的資源屬性。

如要在自訂模組中測試 CEL 運算式,請在測試檔案中指定屬性值,讓 CEL 運算式解析為 true。

測試資料格式

檔案開頭的第一行應為 testData:,後面接著一或多個 - 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

更改下列內容:

  • ARBITRARY_ASSET_NAME_N:測試成功時,測試結果中顯示的任意值。
  • RESOURCE_TYPE_N:自訂模組檢查的資產或資源類型,指定為 API 服務端點和資源名稱的網域名稱,例如 cloudkms.googleapis.com/CryptoKey。
  • PROPERTIES_TO_TEST_N:自訂模組偵測邏輯中用於觸發發現項目的屬性。
  • PROPERTY_VALUE_N:觸發發現項目的屬性值。
  • SUB_PROPERTY:目標資源在其資源定義中參照的另一個資源的子屬性或屬性。

測試定義範例

本節提供測試資源定義和測試政策定義的範例。雖然這兩個範例是在不同的檔案中定義,但資源和政策的 asset 定義可以合併在單一 testData 檔案中。

資源定義範例

以下是測試資源定義的範例,會測試自訂模組,檢查 CryptoKey 資源的 rotationPeriod 屬性是否超過 2592000 秒 (30 天)。定義中的其他屬性不會用於自訂模組,但仍符合資源的結構定義。如需本範例測試的自訂模組完整定義,請參閱「自訂模組定義範例」。

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'

政策定義範例

以下是 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"

測試自訂模組

您可以在Google Cloud 控制台測試新的或現有的自訂模組。

如要測試自訂模組,請按照下列步驟操作:

  1. 前往 Security Command Center 設定的 Security Health Analytics「Modules」(模組) 頁面。

    前往「Modules」(模組)

  2. 開啟或建立用於測試的自訂模組:

    • 如要建立新的自訂模組,請按一下「Create module」(建立模組),然後按照「建立自訂模組」中的操作說明操作。
    • 如要開啟現有的自訂模組,請在要測試的模組列右側,按一下「Actions」下方的編輯 () 圖示。
  3. 選取「測試模組」分頁標籤。

  4. 在「Upload the YAML file」下方,按一下「Browse」,上傳含有範例資產資料的檔案。YAML 檔案上傳後,測試就會立即執行。

  5. 在「測試結果預覽」下方查看結果。

    • 如果 YAML 檔案有語法或其他錯誤,瀏覽器頁面底部附近會顯示浮動錯誤訊息。
    • 如果測試成功,系統會傳回下列資訊:

      • 自訂模組的顯示名稱。
      • 您在測試資料檔案的 resource 屬性中指定的任意名稱。
      • 已建立或將建立自訂模組的組織、資料夾或專案。

    測試結果不會儲存或寫入 Security Command Center。

後續步驟