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