測試安全狀態分析自訂模組

本頁面說明如何在Google Cloud 控制台中上傳含有測試資料的 YAML 檔案,藉此測試 Security Health Analytics 自訂模組。

事前準備

如要測試自訂模組,必須符合下列先決條件:

  • 適用於使用 Security Health Analytics 自訂模組的所有一般先決條件。如需完整先決條件清單,請參閱「使用 Security Health Analytics 的自訂模組」。
  • 您必須為使用者帳戶授予一或多個身分與存取權管理 (IAM) 角色,才能使用 Security Command Center 和自訂模組,並具備 securitycenter.securityhealthanalyticscustommodules.test 權限。如要進一步瞭解使用自訂模組所需的權限和角色,請參閱「必要的身分與存取權管理權限」。
  • 測試自訂模組的 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.iam.gserviceaccount.com"
        - "user:fake-email-account"

測試自訂模組

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

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

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

    前往「模組」

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

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

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

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

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

      • 自訂模組的顯示名稱。
      • 您在測試資料檔案的 resource 屬性中指定的任意名稱。
      • 自訂模組的建立位置 (機構、資料夾或專案)。

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

後續步驟