← 所有作品

自動化防火牆政策異動審查

用瀏覽器自動化走完防火牆政策審查佇列,開啟每筆修訂、截圖留證,並完整記錄每個步驟。

問題

防火牆政策的變更,會以工單的形式送進政策管理平台,等人審查。審一張單要先登入、開啟審查佇列、點進工單連到的政策修訂、展開變更清單、找到工單所指的那條規則,再把它截下來當佐證。每一步都不難,但整個佇列做下來很耗時,佐證也不一致:截圖範圍不同、檔名各異,也沒有紀錄說明當時看了什麼。

做法

把審查當成一條每個階段都會留下痕跡的流程,而不是一串手動點擊。

運作方式

每一步都留下紀錄的審查流程

一次執行只要一個指令。設定來自環境變數或本機的環境檔,命令列參數可以覆寫;--config 會印出實際生效的設定,密碼只顯示「已設定」或「未設定」。

  1. 啟動 Chromium 系瀏覽器(可選無頭模式);驅動程式失敗時,自動改用另一個支援的瀏覽器。
  2. 登入,帳號、密碼與送出按鈕都透過有順序的 selector 清單來定位。
  3. 進入審查模組,讀取佇列中的前兩張工單。
  4. 對每張工單,取出規則識別名稱與修訂連結,在新分頁開啟修訂,並點選顯示變更的按鈕。
  5. 找出與工單規則完全相符的那一列,捲動到該列並存成元素截圖,檔名包含工單序號、規則識別名稱與時間戳記。找不到相符的列,就存整頁截圖。
  6. 關閉分頁、回到佇列,最後列出所有已擷取的檔案。

每個步驟都會把帶時間戳記的一行寫到終端機與日誌檔。另有一支輔助腳本,讀取修訂的變更紀錄文字,列出哪些成員被新增、哪些被移除,讓審查者看的是差異,而不是兩份很長的清單。

成果

學到的事