使用應對手冊迴圈自動執行工作
「劇本迴圈」功能著重於 for-each 迴圈,可疊代清單並針對每個項目執行一組動作。
透過 Playbook 迴圈,您可以多次執行單一或一系列動作,有效處理多個項目,例如實體。這樣一來,當您需要在多個實體或其他資料類型中執行重複步驟時,就不必自訂動作或手動複製動作。您也可以將方塊放在迴圈內,或在方塊內嵌入迴圈,藉此簡化工作流程。
支援的迴圈類型
劇本迴圈支援對下列資料類型進行疊代:
- 實體:您可以疊代警報中的實體清單。
- 清單:您可以疊代使用者定義的項目清單,或使用預留位置動態解析清單。
規劃迴圈
應對手冊迴圈包含「迴圈開始」步驟和對應的「迴圈結束」步驟。您要對清單中的每個項目重複執行的動作,會放在這兩個步驟之間。
循環開始
「迴圈開始」步驟會標示迴圈的開頭,並包含迴圈的設定。
- 您可以在「迴圈開始」步驟中指派迴圈名稱。這個名稱會顯示在「迴圈開始」和「迴圈結束」步驟中。
- 這個步驟會定義「Loop Over」參數 (「Entities」或「List」),並為所選類型設定特定設定。
- 這個步驟可讓您設定迴圈達到疊代次數上限 (最多 1,000 次) 或發生問題時的行為。
- 如果迴路順利啟動,畫面上會顯示勾號。
循環播放結束時間
「迴圈結尾」步驟會標示迴圈的終點。
- 您無法直接編輯「迴圈結束」步驟,因為其設定與「迴圈開始」步驟相關聯。
- 迴圈成功完成所有疊代後,「Loop End」步驟會傳回成功狀態 (以勾號表示),以及包含已執行疊代次數的 JSON 結果。
- 如果迴圈在處理所有項目之前停止 (因為達到疊代次數上限),JSON 結果會包含略過項目的清單。
定義迴圈中的動作
迴圈開始和迴圈結束步驟之間的動作會重複執行。您可以將任何標準劇本動作拖曳至這個區域,包括條件式動作和模塊。
疊代實體的迴圈
根據預設,當迴圈疊代實體時,迴圈內的動作只會套用至每次疊代中的目前實體。迴圈執行時,這個動作一次會處理一個實體。
對於在實體上執行的動作 (例如 VirusTotal - Enrich Hash),系統會自動將動作範圍限定在迴圈內的目前實體。迴圈中使用的實體預留位置也只會參照目前的迴圈實體。
為說明這點,請參考以下用途:掃描雜湊並為惡意雜湊建立工單。
疊代實體的進階迴圈
在某些用途中,您可能需要存取目前疊代實體和其他快訊實體的資訊。如要達成這個目標,請針對特定迴圈動作將「將範圍鎖定至疊代」切換鈕設為關閉。
- 開啟切換鈕後,實體資料和預留位置只會限制為目前透過迴圈處理的實體。
- 如果關閉切換鈕,實體資料和預留位置就能根據「實體」選單中的設定,存取所有警報實體。
- 使用
Entity預留位置,存取整個快訊的實體資料。 - 使用
Loop.Entity僅參照目前的迴圈實體。
為說明這點,請參考以下用途:根據使用者職稱,為惡意檔案建立優先處理單。
疊代清單的迴圈
迴圈可針對定義清單中的每個項目執行一組動作,您可以在其中執行下列操作:
- 直接定義清單,或使用會解析為清單的預留位置。
- 根據需求自訂分隔符號 (例如逗號或斜線)。
- 使用
Loop.item預留位置參照疊代項目。
為說明這點,請參考以下用途: 通知使用者密碼外洩。
在迴圈內使用區塊
您可以在迴圈中直接加入應對手冊區塊。將區塊拖曳至迴圈後,迴圈每處理一個項目或實體,就會執行一次區塊中的動作。
如果迴圈會疊代實體,區塊會包含「將範圍鎖定至疊代」切換鈕。這個切換鈕可控管區塊內動作存取實體資料的方式:
- 開啟:區塊內的所有步驟,都限定在該特定迴圈疊代中的目前實體。這可確保區塊中的任何實體預留位置和動作,只會對該疊代的相關資料執行。
- 切換為關閉:區塊內的步驟可存取所有快訊實體。區塊會接收快訊中的所有實體,而不只是父項迴圈處理的實體。在這種情況下,選單中會顯示
loop.entity預留位置,且只能用於存取疊代實體。
在區塊內使用迴圈
您可以在劇本區塊中放置迴圈,以執行週期性工作,做為區塊邏輯的一部分。這可讓您在應對手冊的範圍區段中,逐一查看項目或實體。
在區塊內設定迴圈的程序,與在 playbook 中設定其他迴圈相同。
詳情請參閱「設定劇本迴圈動作」。
設定應對手冊迴圈動作
如要設定應對手冊迴圈動作,請按照下列步驟操作:
- 在「導覽」選單中,依序前往「回應」>「劇本」。
- 開啟要修改的劇本,或建立新劇本。
- 按一下「+ 開啟步驟選項」。
- 按一下「循環」分頁標籤。
- 將「For Each Loop」動作拖曳到應對手冊畫布上。這會自動建立「Loop Start」和「Loop End」步驟,並在兩者之間指定新增動作的區域。
- 設定「迴圈開始」:
- 按一下「Loop Start」步驟,開啟「For Each Loop」側邊抽屜。
- 在「參數」分頁中,選取要「透過迴圈處理」的項目 (「實體」或「清單」)。
- 實體:選取實體範圍 (「所有實體」、「可疑實體」或自訂範圍)。
- 清單:在「項目」欄位中,手動或使用預留位置輸入項目清單。定義分隔符號 (例如半形逗號或斜線),用來分隔項目。
- 在「設定」分頁中,設定迴圈的行為:
- 動作類型:選擇「自動」 (立即啟動) 或「手動」 (需要使用者操作)。
- 如果步驟失敗或超過疊代次數上限:選取迴圈應略過其餘項目並繼續,還是停止應對手冊。
- 在迴圈前後新增動作,準備資料或處理迴圈結果。
限制
劇本迴圈不支援核准連結。
迴圈內最多可支援 100 個步驟。
使用檢視畫面和應對手冊迴圈
本節說明自訂和預建小工具如何在檢視畫面中顯示 Playbook 迴圈的資訊,並介紹以圖表呈現迴圈生成資料的重要面向。
自訂小工具
雖然無法直接從內部迴圈步驟參照預留位置,但您可以在迴圈執行期間彙整結果,並顯示在小工具中。如要在自訂小工具中顯示匯總結果,請在迴圈中使用情境值 (例如,使用「工具」強化功能的「附加至情境值」動作)。
預建小工具
Google 提供預先建構的小工具,可與 Playbook 設計工具中支援的操作完美整合。將支援的動作拖曳至應對手冊設計工具時,系統會建議相關的預建小工具。即使在迴圈中使用,這些小工具也會直接連結至動作。
應對手冊模擬工具中的迴圈
應對手冊模擬工具會詳細顯示包含迴圈和模塊的應對手冊。此外,它也支援巢狀結構,例如巢狀迴圈 (迴圈內含區塊,以及區塊內含迴圈)。在模擬器檢視器中,步驟會由上而下顯示 (最舊的步驟在最上方,最新的步驟在最下方),並自動捲動顯示最新活動。
詳情請參閱「使用應對手冊模擬工具」。
客服案件概覽
如果劇本包含迴圈,執行時「案件」頁面的多個區域會顯示進度資訊和每次疊代的結果。
以下各節說明小工具、劇本檢視器和案件牆如何呈現與這些迴圈相關的資訊。
小工具
「案件總覽」中的預建小工具會顯示對應動作的結果。如果動作在迴圈內執行,小工具會動態更新,顯示最新迴圈疊代的結果。
應對手冊檢視者
執行含有迴圈的應對手冊時,您可以在應對手冊檢視器中追蹤進度,並查看每次疊代的結果。如要存取這項功能,請在案件中選取相關快訊,然後按一下「應對手冊」分頁標籤。
Playbook 檢視器會以階層結構顯示迴圈和區塊。這項組織方式有助於您查看巢狀程序的流程,並瞭解每個步驟的背景資訊。
在教戰手冊檢視器中,您可以執行下列操作:
- 循環步驟會分組在一起,請查看每個疊代。
- 在疊代之間切換,查看個別結果。
- 選取迴圈中的步驟,即可在側邊導覽匣中顯示疊代編號。
- 按一下「View Results」,即可顯示迴圈名稱和疊代次數。
- 按一下「終止應對手冊」,手動結束應對手冊執行程序,處理不當或過多的疊代。
案件總覽
迴圈疊代產生的每個結果都會顯示在「案件牆」上,並附上迴圈指標,例如疊代次數。這有助於追蹤及區分每次疊代期間執行的動作。
應用實例範例
本節提供實用範例,說明如何使用應對手冊迴圈自動執行不同類型的工作流程。
掃描雜湊並為惡意雜湊建立支援單
在這個用途中,請執行下列步驟:
- 使用 VirusTotal 掃描快訊中所有檔案的雜湊值。
- 系統會自動為每個遭判定為惡意檔案的項目建立專屬工單。
請按照下列步驟建立應對手冊:
如要建立應對手冊,請完成下列步驟:
- 將「VirusTotal - Enrich Hash」動作拖曳至應對手冊畫布,並在新增迴圈前進行設定。
- 將「For Each Loop」拖曳到畫布上。
- 按一下「Loop Start」。
- 在「Parameters」(參數) 分頁中,選取「Entities」(實體) 做為「Loop over」(迴圈) 類型。
- 從「 實體」選單中,選取「所有標為可疑的實體」。 這個步驟可確保迴圈執行作業的範圍,僅限於先前步驟中由「VirusTotal - Enrich Hash」動作標示為可疑的實體。
- 將「建立支援單」動作拖曳到迴圈中。這項動作的確切名稱和設定會因使用的票務系統整合而異。
- 在「建立支援單」動作的設定中:
- 輸入票券名稱,例如
Malicious File Detected。 - 在「說明」欄位中,使用預留位置選單在迴圈中插入目前實體的詳細資料 (例如
Entity.Identifier或Entity.Type)。加入 VirusTotal 擴充功能中的任何相關資訊,現在這些資訊會與可疑實體建立關聯。
- 輸入票券名稱,例如
針對 VirusTotal 判定為惡意檔案的每個檔案雜湊值,系統都會建立含有相關詳細資料的專屬案件。
根據使用者職稱,為惡意檔案建立優先處理的支援單
在這個用途中,識別惡意檔案後 (如上一個用途所述),請根據與檔案相關聯的內部使用者職稱是否包含「執行長」,建立不同優先順序的新工單。
開始前,請確認您已完成先前使用案例的初始步驟:
- 在迴圈前執行 VirusTotal - Enrich Hash 動作,指定所有檔案雜湊實體。
- For Each Loop 動作會疊代實體,範圍設為「所有標為可疑的實體」。
如要為惡意檔案建立優先順序工單,請完成下列步驟:
- 在迴圈內新增條件式動作。
- 關閉「將範圍鎖定至疊代」切換鈕,即可存取迴圈實體以外的其他警報實體。
- 在「Entities」選單中選取「Internal Users」。
- 設定條件,檢查
Entity.job是否包含CEO。這項操作會將優先順序設為「重大」CRITICAL。 - 使用 ELSE 分支處理不涉及
CEO的情境 (這會將優先順序設為 HIGH)。 - 將「Create Ticket」動作拖曳到第一個分支:
- 建立標題 (例如
CRITICAL: Malicious File Detected - Potential CEO Impact)。 - 將事件優先順序設為「重大」CRITICAL。
- 在「說明」欄位中,加入與使用者相關的詳細資料,以及 VirusTotal 豐富資訊。
- 將另一個「建立工單」動作拖曳到「ELSE」分支:
- 建立標題 (例如
Attention: Malicious File Detected)。 - 將事件優先順序設為「HIGH」。
- 在「說明」欄位中,加入與使用者相關的詳細資料,以及 VirusTotal 豐富資訊。
針對每個惡意檔案,這份應對手冊會檢查相關內部使用者的職稱。如果標題包含 CEO,系統會建立CRITICAL優先順序的支援單。否則,系統會建立高優先順序的支援單。
通知使用者密碼外洩
資料外洩偵測解決方案會提供使用者名稱 (電子郵件地址) 清單,列出密碼在最近的資料外洩事件中遭盜用的使用者。您想為每位受影響的使用者傳送個人化電子郵件通知,而不是傳送單一電子郵件給所有使用者。受影響的使用者清單會顯示在 alert.affected_users 欄位中。
如要建立應對手冊,請按照下列步驟操作:
- 將「For Each」迴圈動作拖曳至應對手冊畫布。
- 按一下「Loop Start」步驟。
- 在「參數」分頁中,選取「清單」做為「迴圈遍歷」類型。
- 在「項目」欄位中,使用
alert.affected_users預留位置。 - 如果
alert.affected_users中的清單使用半形逗號以外的分隔符號,請在「分隔符號」欄位中更新該分隔符號。 - 將「電子郵件 - 傳送電子郵件」動作拖曳至迴圈中。
- 在「電子郵件 - 傳送電子郵件」動作的設定中:
- 在「收件者」欄位中,使用
Loop.Item預留位置。當清單迴圈疊代alert.affected_users清單時,Loop.Item預留位置代表目前處理的電子郵件地址,因此每位使用者都會收到專屬的電子郵件。 - 設定電子郵件的主旨和內容,通知使用者遭外洩的密碼。
- 在「收件者」欄位中,使用
alert.affected_users 清單中的每位使用者 (電子郵件地址) 都會收到個人化的電子郵件通知,告知密碼已遭盜用。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。