本頁面說明如何在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 控制台中測試新的或現有的自訂模組。
如要測試自訂模組,請按照下列步驟操作:
前往 Security Command Center 設定中的「Modules」(模組) 頁面。
開啟或建立要測試的自訂模組:
- 如要建立新的自訂模組,請按一下「建立模組」,然後按照「建立自訂模組」一文的說明操作。
- 如要開啟現有的自訂模組,請在要測試的模組列右側,按一下「動作」下方的「編輯」圖示 (edit)。
選取「測試模組」分頁標籤。
在「Upload the YAML file」(上傳 YAML 檔案) 下方,按一下「Browse」(瀏覽),上傳含有範例資產資料的檔案。上傳 YAML 檔案後,系統會立即執行測試。
在「測試結果預覽」下方,查看測試結果。
- 如果 YAML 檔案中有語法或其他錯誤,瀏覽器頁面底部附近會顯示浮動錯誤訊息。
如果測試成功,測試會傳回下列資訊:
- 自訂模組的顯示名稱。
- 您在測試資料檔案的
resource屬性中指定的任意名稱。 - 自訂模組的建立位置 (機構、資料夾或專案)。
測試結果不會儲存或寫入 Security Command Center。
後續步驟
- 如要使用自訂模組,請參閱「使用 Security Health Analytics 自訂模組」一文。
- 如要在 Google Cloud 控制台中使用發現項目,請參閱「使用發現項目」一文。