管理應對手冊流程
支援的發布途徑:
本文說明 Flow 元件如何使用分支系統做出決策,引導劇本的後續步驟。
條件流程可讓應對手冊根據收到的快訊資料、先前動作的結果或使用者輸入內容,決定如何處理案件,並將案件導向不同路徑。
可用的流程選項如下:
- 條件:根據預留位置、現有案件資料和「先前的動作」流程建立的複雜條件。
- 選擇題:分析師必須手動回答的問題。
新增條件式流程
本節說明如何使用條件流程,在劇本中建立動態分支邏輯。
新增單一條件流程
如要新增單一「條件」流程,請按照下列步驟操作:
- 在「Response」>「Playbooks」頁面,按一下「Open Step Selection」。
- 在「步驟選取」中,選取「流程」部分。
- 視應對手冊的建構方式而定,將條件拖曳至步驟或兩個動作之間。
- 按兩下條件即可開啟對話方塊。
- 選取必要實體。如果您使用預留位置,這些位置會限定於這個實體群組。
- 決定要建立多少個分支版本。每個分支之間都有 OR。
- 為每個分支版本選取並新增參數,如下所示:
- 從現有預留位置清單中,選取要評估的相關預留位置。如果是新使用者,且尚未擷取任何快訊,這個欄位會是空白。
- 選取所需運算子 (例如「等於」、「不包含」)。
- 選擇值。
- 定義「備用分支」,避免條件失敗。如果條件是根據先前的動作,且其中一個動作失敗 (並略過),條件會繼續前往備用分支,而不是停止。如要選取備用分支版本,請參閱「定義備用分支版本」。
- 按一下 [儲存]。劇本會建立您定義的分支 (最多 19 個),以及 Else 分支 (標示為 E)。
- 為 (至少) 一個分支設定結果,將劇本標示為完成。
新增選擇題流程
- 將「MultiChoiceQuestion」MultiChoiceQuestion流程拖曳至所需的劇本步驟。
- 按兩下方塊即可開啟側邊抽屜。
- 在「參數」分頁中,新增問題並視需要新增多個答案。
- 如要設定分析師回覆的逾時時間:
- 按一下側邊抽屜中的「設定」分頁標籤。
- 將「回覆時間」選項切換為
ON。 - 以天、小時和分鐘為單位指定適當的持續時間。
- 在「如果超過回覆時間」部分下方,選取下列任一動作:
- 停止應變手冊:如果使用者未在指定時間內回應,應變手冊就會停止執行。
- 選取現有分支:從選單中選取已定義的答案分支。如果超過回應時間,劇本會按照所選分支執行。
- 建立新分支:這個選項會在劇本設計工具中產生專屬分支,用於處理逾時問題。您可以定義特定動作 (例如傳送電子郵件給經理),與流程的標準答案選項不同。這個新分支會顯示在教戰手冊設計工具中,標示為「超過回覆時間」。
- 選用:核准連結:如果使用這個 MultiChoiceQuestion 從電子郵件等外部來源收集核准,請將「核准連結」切換為
ON。如要進一步瞭解如何設定及使用核准連結,請參閱「在動作中指派核准連結」。 - 按一下 [儲存]。劇本會為每個答案 (最多 20 個) 開啟一個分支,如果已設定,還會開啟「超出回應時間」分支。
- 為至少一個答案分支設定結果,將其標示為完成。
新增「條件」流程
如要新增「條件」流程,請按照下列步驟操作:
- 將「條件」拖曳至「最終步驟」方塊。
- 按一下「條件」開啟對話方塊。
- 決定要建立多少個分支版本。每個分支之間都有 OR。
- 新增參數:選取必要參數。這份清單只會顯示這個劇本的動作指令碼結果。
- 選取所需運算子:「等於/不等於」、「包含/不包含」、「開頭為」或「大於/小於」。
- 選擇值 (動作結果)。
- 您可以在每個分支中新增更多參數,並選擇邏輯運算子:「AND」或「OR」。
- 按一下 [儲存]。劇本會開啟您定義的分支 (最多 19 個) 和「Else」分支。
- 為至少一個分支設定結果,即可完成 Playbook。
定義備用分支
- 在其中一個流程 (條件) 中,選取要做為備用分支的分支。本範例使用「Branch – not risky」(分支版本 - 無風險)。您不一定要新增備用分支。
- 執行應對手冊時,如果先前的動作失敗,應對手冊會選擇備援分支並繼續執行。
管理步驟失敗
執行應對手冊步驟時可能會失敗。根據預設,如果某個步驟失敗,劇本會停止執行,這是重要的安全機制,可防止使用不完整或不正確的資料繼續執行。不過,有時即使步驟未傳回預期結果,您仍希望劇本繼續執行。對於擴充動作而言,這點尤其重要,因為您要尋找的資料可能並非每個案件都有。您可以決定是否要停止應對手冊,或跳至下一個步驟。如果失敗的步驟對決策至關重要,您可以在下一個步驟中檢查上一個步驟是否失敗,並據此決定如何繼續 (例如,如果某個步驟失敗,則前往備援分支)。
失敗時略過
您可以設定在動作失敗時略過該步驟。啟用這項設定後,即使動作無法執行或傳回錯誤,劇本仍會繼續執行下一個步驟。
如要啟用這項設定,請按照下列步驟操作:
- 按兩下動作方塊,開啟設定抽屜。
- 在「設定」分頁中,前往「如果步驟失敗」部分。
- 選取「略過步驟」。
使用條件進行進階錯誤處理
「失敗時略過」選項適用於基本情況,但更穩健的方法是使用條件流程建立專屬的錯誤處理路徑。這樣一來,當步驟失敗時,應對手冊就能採取不同的動作組合,例如通知分析師或記錄錯誤。
如要建立錯誤處理路徑,請按照下列步驟操作:
- 在可能失敗的動作之後,新增「條件」流程方塊,並定義特定失敗路徑。
- 按兩下「Condition」方塊,開啟對話方塊。
- 前往「設定」分頁,然後在「如果先前的動作失敗」部分,選取要將流程導向哪個分支。重要事項:如果先前的動作失敗條件不會單純檢查是否有任何先前的失敗,而是檢查先前的動作是否失敗,而該動作的結果會用於評估目前的條件。如果該依附動作失敗,系統就無法判斷條件,並將流程導向所選分支。這樣一來,您就能處理依附元件失敗的情況,避免條件無法解析。
- 在這個失敗分支中,您可以新增傳送通知電子郵件、建立工作或記錄失敗等動作。
舉例來說,假設某個劇本嘗試解決使用者的擁有者問題。如果「Resolve User Owner」動作失敗 (例如 Active Directory 中沒有該使用者),劇本不會停止。條件區塊會偵測到失敗,並將流程導向另一個分支,在該分支中,系統可以傳送電子郵件給安全團隊,說明資料遺失情形,確保應對手冊持續執行,不會中斷。<
移除流程
從劇本中移除流程時,系統會提示您移除整個分支,或只移除其中一個部分。
合併分支
您可以將劇本的不同分支合併為一個分支。如要這麼做,請從其中一個分支拖曳動作,然後放到另一個分支的「最後步驟」方塊中。應對手冊可以繼續執行後續步驟,也可以在此結束。
條件中的邏輯運算子運作方式
本節將說明劇本中的條件運算子如何評估具有單一或多個項目的欄位 (例如快訊中的實體或事件)。瞭解欄位是字串還是清單,對劇本邏輯至關重要。
資料類型在條件評估中的角色
運算子行為 (Equals、Contains) 會因資料類型而異:
- 單一項目內容:如果警報只有一個實體,
[Entity.Identifier]等欄位會視為單一字串。 - 多個項目內容:如果警報有多個實體,則警報中相同欄位會是字串清單。
equals 和 contains 的運算子行為
以下各節將說明這些運算子的運作方式。
Equals 運算子
Equals 運算子會直接比較兩個值。
- 單一項目欄位 (字串) 會檢查是否完全相符。
- 假設
[Entity.Identifier]為"Tom"。 - 則條件
if [Entity.Identifier] equals "Tom"為 True。
- 假設
- 多個項目欄位 (清單) 會檢查整個清單是否等於指定的字串。清單絕不會等於單一字串。
- 假設
[Entity.Identifier]是清單(Tom, Kai) - 因此條件
if [Entity.Identifier] equals "Tom, Kai"一律為 False。這是因為[Entity.Identifier]是清單,「Tom, Kai」則是字串。
- 假設
Contains 運算子
Contains 運算子也會因資料類型而異:
- 單一項目欄位 (字串) 會執行子字串搜尋。如果字串包含該值,則傳回
True。- 假設
[Entity.Identifier]為"user-1234"。 - 然後條件
if [Entity.Identifier] contains "user"為 True。
- 假設
- 多個項目欄位 (清單) 會檢查清單中的項目是否完全相符。系統不會執行子字串搜尋。
- 假設
[Entity.Identifier]是清單 ("UserA@corp.com", "UserB@corp.com")。 - 然後條件
if [Entity.Identifier] contains "corp"為 False。
- 假設
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。