本頁說明如何使用 Google Cloud 控制台或 Google Cloud CLI,為 Security Health Analytics 建立、查看、更新及刪除自訂模組。
如需更多入門資訊,請參閱「安全狀態分析自訂模組總覽」。
事前準備
如要使用自訂模組,必須符合下列先決條件:
- 必須啟用安全狀態分析。如要瞭解如何啟用 Security Health Analytics,請參閱「啟用或停用內建服務」。
- 使用者帳戶必須獲授一或多個包含必要權限的身分與存取權管理 (IAM) 角色。詳情請參閱「必要 IAM 權限」。
- 如要自行編寫自訂模組,並使用
gcloud
指令將模組上傳至 Security Command Center,您需要 Google Cloud CLI。如要瞭解如何安裝 gcloud CLI,請參閱「安裝 gcloud CLI」。 - 如果尚未啟用 Security Command Center API,您必須先啟用,才能使用安全性狀態分析的自訂模組。您可以在 Google Cloud 控制台的 API 程式庫頁面啟用 Security Command Center API。
- 如要瞭解 Security Health Analytics 的用量限制,請參閱自訂模組配額。
必要 IAM 權限
如要使用自訂模組,您需要下列 Identity and Access Management (IAM) 權限:
權限 | 角色 |
---|---|
securitycenter.securityhealthanalyticscustommodules.create securitycenter.securityhealthanalyticscustommodules.update securitycenter.securityhealthanalyticscustommodules.delete |
roles/securitycenter.settingsEditor roles/securitycenter.admin |
securitycenter.securityhealthanalyticscustommodules.get securitycenter.securityhealthanalyticscustommodules.list |
roles/securitycenter.settingsViewer roles/securitycenter.adminViewer roles/securitycenter.admin |
securitycenter.securityhealthanalyticscustommodules.test | roles/securitycenter.securityHealthAnalyticsCustomModulesTester roles/securitycenter.adminViewer roles/securitycenter.adminEditor roles/securitycenter.admin |
如要進一步瞭解 IAM 權限和角色,以及如何授予這些權限和角色,請參閱「使用 Google Cloud 控制台授予 IAM 角色」。
建立自訂模組
本節說明如何使用Google Cloud 控制台、gcloud CLI 或 Terraform 建立自訂模組。
如要在建立過程中測試自訂模組,您需要在 YAML 檔案中準備測試資源定義。如需操作說明,請參閱在 YAML 檔案中建立測試資源。
如要建立自訂模組,請從下列分頁標籤中選取要使用的方法:
Google Cloud 控制台
如要在 Google Cloud 控制台中建立自訂模組,請完成下列步驟:
前往Google Cloud 控制台的 Security Command Center「設定」頁面。
按照系統說明選取要建立自訂模組的機構、資料夾或專案。
在「安全狀態分析」資訊卡中,按一下「管理設定」。
按一下「模組」分頁標籤。
按一下「建立模組」
。 「Create module for Security Health Analytics」(建立安全性狀態分析模組) 頁面隨即開啟。在「設定模組」面板中,定義顯示名稱、要掃描的資源和偵測邏輯:
在「Module name」(模組名稱) 欄位中,指定模組名稱。 名稱長度必須介於 1 至 128 個字元之間,只能使用英數字元或底線,而且開頭須為小寫英文字母。這個名稱會成為偵測器產生的發現項目類別。模組建立完成後即無法變更名稱。
在「新增資源類型」下方,指定要掃描的一到五種資源類型。您無法多次指定資源類型。
如需支援的資源類型清單,請參閱「支援的資源類型」。
在運算式編輯器中,撰寫 CEL 運算式,對您在上一個步驟中指定的資源的一或多個屬性執行布林值檢查。如要觸發發現項目,運算式必須解析為
TRUE
。舉例來說,如果CryptoKey
資源已定義輪替週期,且輪替週期超過 2,592,000 秒 (30 天),下列運算式就會觸發發現項目:has(resource.rotationPeriod) && (resource.rotationPeriod > duration('2592000s'))
如要瞭解詳情,請參考下列資源:
點選「下一步」。「定義發現項目詳細資料」面板隨即開啟。
在「定義發現結果詳細資料」面板中,說明自訂模組偵測到的問題,包括嚴重程度、問題內容、修正方式,以及您要在發現結果中納入的任何資料 (做為自訂來源屬性):
在「嚴重程度」欄位中,指定問題的嚴重程度。 您可以指定
Low
、Medium
、High
或Critical
。預設為Medium
。如要瞭解嚴重程度,請參閱「發現項目的嚴重性分類」。
在「發現說明」欄位中,說明自訂模組偵測到的問題。這項說明會顯示在每個發現項目例項中,協助安全團隊瞭解並解決偵測到的問題。
在「Finding next steps」(尋找後續步驟) 欄位中,說明安全團隊可採取哪些步驟,修正或解決偵測到的問題。
每個發現項目例項都會顯示步驟。請提供具體步驟,協助安全團隊盡快解決問題。
選用:在「自訂發現項目屬性」欄位中,指定最多 10 個名稱/值組合,定義要隨每個發現項目例項傳回的自訂來源屬性。這項資訊會以來源屬性的形式,在調查結果的 JSON 中傳回,並顯示在Google Cloud 控制台調查結果詳細資料的「來源屬性」分頁中。以鍵/值組合形式指定文字或屬性值:
- 在「屬性名稱」欄位中,指定自訂來源屬性的名稱。名稱必須符合下列規則:
- 名稱開頭必須為小寫字母。
- 名稱只能包含英數字元或底線。
- 名稱長度必須介於 1 至 128 個字元之間。
- 每個名稱都不得與其他來源屬性重複。
- 在「屬性值」欄位中,指定下列其中一個值,字數不得超過 1, 024 個字元:
- 以半形引號括住的文字字串。引號也算在 1024 個字元的限制內。例如:
"This string provides additional useful information."
- 掃描資源的任何屬性。
舉例來說,如果您要檢查
CryptoKey
資源,可以指定resource.rotationPeriod
。系統會傳回rotationPeriod
屬性的值。
- 以半形引號括住的文字字串。引號也算在 1024 個字元的限制內。例如:
- 在「屬性名稱」欄位中,指定自訂來源屬性的名稱。名稱必須符合下列規則:
點選「下一步」。「啟用模組」面板隨即開啟。
選用:使用「啟用模組」面板的下拉式選單,指定在建立自訂模組時啟用或停用該模組。自訂模組預設會在建立時啟用。如果您指定「停用」,日後可以在「安全性狀態分析」設定頁面的「模組」分頁中啟用模組。
點選「下一步」。「測試模組」面板隨即開啟。
選用:建議您先測試自訂模組,再建立模組。
如要測試自訂模組,請按照下列步驟操作:
建立 YAML 檔案,其中包含自訂模組檢查的資源測試資源定義。
如要瞭解如何建立測試資料檔案,請參閱「在 YAML 檔案中建立測試資源」。
在「Upload the YAML file」(上傳 YAML 檔案) 下方,按一下「Browse」(瀏覽),上傳含有測試資源定義的 YAML 檔案。上傳檔案後,系統會自動開始測試。
在「測試結果預覽」下方,查看測試結果。
- 如果 YAML 檔案中有語法或其他錯誤,瀏覽器頁面底部附近會顯示浮動錯誤訊息。
如果測試成功,測試會傳回下列資訊:
- 自訂模組的顯示名稱。
- 您在測試資料檔案的
resource
屬性中指定的任意名稱。 - 建立或即將建立自訂模組的機構、資料夾或專案。
測試結果不會儲存或寫入 Security Command Center。
詳情請參閱「測試自訂模組」。
按一下「建立」,系統會將您帶回「模組」頁面,您應該會看到建立的模組,狀態為「已啟用」。
新的自訂模組不會立即供安全性狀態分析在掃描中使用。詳情請參閱偵測延遲。
gcloud CLI
如要使用 gcloud
指令建立自訂模組,您必須先在 YAML 檔案中編碼自訂模組的定義,包括偵測邏輯和輸出屬性的 CEL 運算式。
定義完成後,請使用 gcloud CLI 指令將定義上傳至 Security Command Center。
- 根據「為 Security Health Analytics 編寫自訂模組程式碼」中的操作說明,在 YAML 檔案中編寫自訂模組定義。
- 將 YAML 檔案儲存到 gcloud CLI 執行個體可存取的位置。
將自訂定義上傳至 Security Command Center:
gcloud scc custom-modules sha create \ PARENT_FLAG=PARENT_ID \ --display-name="MODULE_DISPLAY_NAME" \ --enablement-state="ENABLEMENT_STATE" \ --custom-config-from-file=MODULE_FILE_NAME.yaml
更改下列內容:
PARENT_FLAG
:建立自訂模組的層級,可以是--organization
、--folder
或--project
。PARENT_ID
:您要建立自訂模組的機構、資料夾或專案 ID。ENABLEMENT_STATE
:enabled
或disabled
。MODULE_DISPLAY_NAME
:自訂模組傳回發現項目時要顯示的發現項目類別名稱。名稱長度必須介於 1 至 128 個字元之間,只能使用英數字元或底線,而且開頭須為小寫英文字母。MODULE_FILE_NAME
:包含自訂模組定義的 YAML 檔案路徑和檔案名稱。
Terraform
為機構建立自訂模組:
為資料夾建立自訂模組:
為專案建立自訂模組:
偵測延遲
建立或更新自訂模組定義後,新的或更新的自訂模組最多可能要過幾小時,才能用於掃描。
建立或修改自訂模組不會觸發掃描。 自訂模組可供使用後,Security Health Analytics 不會立即開始使用,而是等到第一批掃描作業或目標資源的設定變更觸發即時掃描時,才會開始使用。
如要進一步瞭解安全狀態分析掃描類型,請參閱「安全狀態分析掃描類型」。
更新自訂模組
您可以更新 Security Health Analytics 自訂模組的大部分屬性。
自訂模組的下列屬性無法變更:
- 顯示名稱。
- 自訂模組 ID。
- 自訂模組的完整資源名稱。
更新自訂模組時,系統不會同時更新該模組先前產生的任何發現項目。如果模組變更導致產生的發現項目有所變更,發現項目只會在下次執行安全性狀態分析批次或即時掃描後,反映這些變更。
如要修改自訂模組,可以使用 Google Cloud 控制台或 gcloud CLI。點選下列任一分頁標籤,查看相關操作說明。
Google Cloud 控制台
如要在 Google Cloud 控制台中更新現有的自訂模組,請按照下列步驟操作:
前往Google Cloud 控制台的 Security Command Center「設定」頁面。
在專案選取器中,選取當初建立自訂模組的機構、資料夾或專案。您無法在其他位置編輯自訂模組。
在「安全狀態分析」資訊卡中,按一下「管理設定」。
選取「模組」分頁標籤。系統會顯示所有安全狀態分析偵測模組。
使用模組清單頂端的篩選器欄位,或捲動畫面,找出要修改的自訂模組。
在自訂模組列的右側,按一下「動作」選單圖示
。在「動作」選單中,按一下「編輯」圖示 (edit)。「查看模組」頁面隨即開啟,並顯示「設定模組」分頁。
視需要編輯「查看模組」頁面中每個分頁的自訂模組欄位。
選用:建議先測試更新內容,再儲存變更。
如要測試自訂模組,請按照下列步驟操作:
建立 YAML 檔案,其中包含自訂模組檢查的資源測試資源定義。
如要瞭解如何建立測試資料檔案,請參閱「在 YAML 檔案中建立測試資源」。
在「Upload the YAML file」(上傳 YAML 檔案) 下方,按一下「Browse」(瀏覽),上傳含有測試資源定義的 YAML 檔案。上傳檔案後,系統會自動開始測試。
在「測試結果預覽」下方,查看測試結果。
- 如果 YAML 檔案中有語法或其他錯誤,瀏覽器頁面底部附近會顯示浮動錯誤訊息。
如果測試成功,測試會傳回下列資訊:
- 自訂模組的顯示名稱。
- 您在測試資料檔案的
resource
屬性中指定的任意名稱。 - 建立或即將建立自訂模組的機構、資料夾或專案。
測試結果不會儲存或寫入 Security Command Center。
詳情請參閱「測試自訂模組」。
按一下頁面底部的「儲存」。變更會套用至自訂模組。
gcloud CLI
如要使用 gcloud CLI 更新自訂模組,請先編輯自訂模組的 YAML 定義,然後使用 gcloud
指令更新 Security Health Analytics 中的自訂模組。
編輯自訂模組定義。如要瞭解如何編寫自訂模組定義,請參閱「為 Security Health Analytics 編寫自訂模組」。
將編輯過的 YAML 檔案儲存到 gcloud CLI 可存取的位置。
發出下列指令,更新 Security Health Analytics 中的自訂模組:
gcloud scc custom-modules sha update MODULE_ID \ PARENT_FLAG=PARENT_ID \ --enablement-state="ENABLED" \ --custom-config-from-file=MODULE_FILE_NAME.yaml
更改下列內容:
MODULE_ID
:自訂模組的 ID 或完整資源名稱。PARENT_FLAG
:建立自訂模組的層級,可以是--organization
、--folder
或--project
。PARENT_ID
:建立自訂模組的機構、資料夾或專案 ID。MODULE_FILE_NAME
:包含自訂模組定義的 YAML 檔案路徑和檔案名稱。
查看自訂模組
選取分頁,瞭解如何查看自訂模組定義。
Google Cloud 控制台
如要在 Google Cloud 控制台中查看自訂模組,請按照下列步驟操作:
前往 Security Command Center 設定中的「Security Health Analytics」頁面。
按一下「模組」分頁標籤。「模組」面板隨即開啟。
如有需要,請使用模組清單頂端的篩選器欄位,找出要修改的自訂模組。
如要查看自訂模組定義的詳細資料,請按一下自訂模組列右側的「動作選單」圖示
。在「動作」選單中,按一下「編輯」圖示 edit。「查看模組」頁面隨即開啟,並顯示「設定模組」分頁。
按一下「查看模組」頁面上的分頁標籤,即可查看自訂模組定義的所有欄位。
gcloud CLI
如要查看自訂模組的詳細資料,請輸入下列指令:
gcloud scc custom-modules sha get MODULE_ID \ PARENT_FLAG=PARENT_ID
更改下列內容:
MODULE_ID
:自訂模組的 ID 或完整資源名稱。PARENT_FLAG
:建立自訂模組的層級,可以是--organization
、--folder
或--project
。PARENT_ID
:建立自訂模組的機構、資料夾或專案 ID。
列出自訂模組
選取分頁標籤,瞭解如何顯示自訂模組清單。
Google Cloud 控制台
前往 Security Command Center 設定中的「Security Health Analytics」頁面。
按一下「模組」分頁標籤。「模組」面板隨即開啟。
按一下模組清單頂端的篩選器欄位,即可顯示篩選器類型清單。
選取「Type」(類型),然後輸入
Custom
。模組清單會更新,只顯示自訂模組。
gcloud CLI
如要查看自訂模組清單,請輸入下列指令:
gcloud scc custom-modules sha list \ PARENT_FLAG=PARENT_ID
更改下列內容:
PARENT_FLAG
:建立自訂模組的層級,可以是--organization
、--folder
或--project
。PARENT_ID
:建立自訂模組的機構、資料夾或專案 ID。
刪除自訂模組
您可以從建立自訂模組的機構、資料夾或專案,或是上層機構或資料夾中刪除該模組。您無法從繼承自訂模組的資料夾或專案中刪除該模組。
如要瞭解如何刪除自訂模組,請選取下列其中一個分頁標籤。
Google Cloud 控制台
前往Google Cloud 控制台的 Security Command Center「設定」頁面。
如果出現提示,請選取機構、資料夾或專案。
在「安全狀態分析」資訊卡中,按一下「管理設定」。
選取「模組」分頁標籤。系統會顯示所有安全狀態分析偵測模組。
使用模組清單頂端的篩選器欄位,或捲動畫面,找出要修改的自訂模組。
在自訂模組列的右側,按一下「動作」選單圖示
。在「動作」選單中,按一下「刪除」,系統隨即會開啟「刪除自訂模組」對話方塊。
在對話方塊中按一下「刪除」。
gcloud CLI
如要刪除自訂模組,請輸入下列指令:
gcloud scc custom-modules sha delete MODULE_ID \ PARENT_FLAG=PARENT_ID
更改下列內容:
MODULE_ID
:自訂模組的 ID 或完整資源名稱。PARENT_FLAG
:建立自訂模組的層級,可以是--organization
、--folder
或--project
。PARENT_ID
:建立自訂模組的機構、資料夾或專案 ID。
在下一次批次掃描中,安全性狀態分析會將已刪除自訂模組的發現項目標示為無效。
查看結果
您可以在Google Cloud 主控台或 Security Command Center API 中,查看自訂模組產生的發現項目。
主控台
標準或進階
- 在 Google Cloud 控制台中,前往 Security Command Center 的「發現項目」頁面。
- 選取 Google Cloud 專案或機構。
- 在「快速篩選器」部分的「來源顯示名稱」子部分,選取「Security Health Analytics Custom」。發現項目查詢結果會更新,只顯示來自這個來源的發現項目。
- 如要查看特定發現項目的詳細資料,請按一下「類別」欄中的發現項目名稱。 系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
- 在「摘要」分頁中,查看發現項目的詳細資料,包括偵測到的內容、受影響的資源,以及 (如有) 可採取哪些步驟來修正發現項目。
- 選用:如要查看調查結果的完整 JSON 定義,請按一下「JSON」JSON分頁。
Enterprise
- 在 Google Cloud 控制台中,前往 Security Command Center 的「發現項目」頁面。
- 選取 Google Cloud 機構。
- 在「匯總」部分中,按一下展開「來源顯示名稱」子部分。
- 選取「Security Health Analytics Custom」。發現項目查詢結果會更新,只顯示來自這個來源的發現項目。
- 如要查看特定發現項目的詳細資料,請按一下「類別」欄中的發現項目名稱。 系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
- 在「摘要」分頁中,查看發現項目的詳細資料,包括偵測到的內容、受影響的資源,以及 (如有) 可採取哪些步驟來修正發現項目。
- 選用:如要查看調查結果的完整 JSON 定義,請按一下「JSON」JSON分頁。
gcloud CLI
如要查看調查結果,請按照下列步驟操作:
- 開啟終端機視窗。
如要取得 Security Health Analytics 的來源 ID,請執行下列指令:
gcloud scc sources describe organizations/ORGANIZATION_ID \ --source-display-name='Security Health Analytics Custom'
顯示輸出內容應如下所示。在範例中,
SOURCE_ID
是伺服器指派給安全來源的 ID。description: ... displayName: Security Health Analytics Custom name: organizations/ORGANIZATION_ID/sources/SOURCE_ID
如要列出自訂模組產生的所有發現項目,請執行下列指令:
gcloud scc findings list ORGANIZATION_ID --source=SOURCE_ID
如要列出特定自訂模組的發現項目,請執行下列指令:
gcloud scc findings list ORGANIZATION_ID --source=SOURCE_ID --filter="category=\"MODULE_NAME\""
後續步驟
您可以像管理 Security Command Center 中的所有發現項目一樣,管理自訂模組產生的發現項目。如需操作說明,請參閱下列資訊: