建立自訂整合項目
本文說明如何在整合式開發環境 (IDE) 中建立自訂整合,並使用與商業整合相同的結構。您可以在 Google Security Operations Marketplace 中,為各種環境尋找及設定自訂整合。接著,您就能在應對手冊、手動動作和遠端代理程式中使用這些動作。系統也支援匯入及匯出功能,與其他 IDE 項目類似。
在 IDE 中建立自訂整合項目
您可以為 Armis 產品建立自訂整合,並建立管理員和 Ping 動作。本程序假設您瞭解 Python 和物件導向程式設計。
使用案例:建構自訂 Armis 整合
如要在 IDE 中建立自訂整合,請按照下列步驟操作:
- 在主選單中,依序前往「回應」>「IDE」。
- 按一下「Create New Item」(建立新項目) ,然後選取「Integration」(整合)。
- 輸入名稱並按一下 [建立]。
整合項目現在會列出「設定」 選項,表示這是自訂整合項目。
依序點選「設定」 「設定」,即可顯示整合設定,您可以在其中定義圖示、說明、Python 依附元件和整合參數。
建立自訂管理員
管理員是第三方工具 API 的包裝函式。雖然這並非必要,但如果整合項目會與外部工具互動,我們建議您使用這些方法。管理員不應從 SDK 匯入。建立後,將其匯入連接器、動作和工作。
如要建立自訂管理員,請按照下列步驟操作:
- 在 IDE 中,按一下「Create New Item」(建立新項目) ,然後選取「Manager」(管理員)。
- 選取「Armis」整合服務,然後輸入管理員名稱。
- 編輯並執行下列指令碼:
import requests class ArmisManager: def init(self, api_root, api_token): self.api_root = api_root self.api_token - api_token self.session = requests.session() self.session.headers = {"Accept": "application/json"} def auth(self): endpoint = "{}/api/vi/access_token/*" params = {"secret_key" : self.api_token} response = self.session.post(endpoint.format(self.api_root), params=params) self.validate_response(response) access_token = response.json()["data"]["access_token"] self.session.headers.update({"Authorization": access_token}) return True def get_device_by_ip(self, device_ip): endpoint = "{}/api/vi/devices/" params = {"ip": device_ip} response = self.session.get(endpoint.format(self.api_root), params=params) self.validate_response(response) return response.json()["data"]["data"] @staticmethod def validate_response(res, error_msg="An error occurred"): """Validate a response :param res: (requests. Response) The response to validate :param error_msg: (str) The error message to display """ try: res.raise_for_status() except requests.HTTPError as error: raise Exception("(error_msg): (error) (text)".format( error_msg=error_msg, error=error, text=error.response.content ))
參數、Google SecOps Marketplace 設定和 Ping 動作
整合設定中定義的參數會顯示在 Google SecOps Marketplace 設定中。參數包括:
- API 根目錄:您要連線的服務基準網址。
- API 密鑰:用於向服務驗證應用程式的機密金鑰。
- 「驗證 SSL」核取方塊:啟用後,系統會驗證連線至 Armis 伺服器的 SSL 憑證是否有效。
- 「遠端執行」核取方塊:這項設定可決定程式碼或工作是在遠端伺服器上執行,還是在本機執行。啟用這項選項後,系統會將必要的指令和資料傳送至專用伺服器進行處理。
如要更新參數,請按照下列步驟操作:
- 請輸入正確的憑證。
- 依序按一下「儲存」>「測試」。
如果缺少「Ping」動作,「測試」按鈕會失敗,並顯示紅色「X」。
實作 Ping 動作
Ping 動作的邏輯與驗證成功類似。
如要實作 Ping 動作,請按照下列步驟操作:
- 在 IDE 中,於名為
Ping
的 Armis 整合中建立新的「動作」。 - 使用
ArmisManager
auth
方法驗證。
啟用整合功能
如要啟用整合功能,請按照下列步驟操作:
- 在「回應」> IDE 中,將「啟用/停用」切換鈕設為「開啟」。
- 按一下 [儲存]。如果看到綠色切換按鈕,即代表操作正確。系統會將 Marketplace 的憑證傳遞至 ArmisManager。如果
auth
完成時沒有錯誤,「測試」按鈕會顯示綠色勾號。
使用 extract_configuration_param
方法從整合設定匯入參數。或者,您可以使用 extract_action_param
在動作本身中定義參數。不過,Ping 動作一律應使用設定參數,因為這些參數會經過 Marketplace 測試。
查看自訂整合項目
前往 Google SecOps Marketplace,搜尋您建立的自訂整合服務。如果未在初始設定期間建立圖片,系統會為其指派預設的自訂圖片。請注意,Google SecOps Marketplace 更新不會覆寫或刪除任何自訂整合項目。
在 IDE 中匯出及匯入
請執行下列其中一項動作:
- 如要匯入整合,請按照下列步驟操作:
- 上傳資料夾結構正確的 ZIP 檔案,整合功能就會顯示在 IDE 和 Google SecOps Marketplace 中。
- 按一下 [匯入]。整合項目會同時顯示在 IDE 和 Marketplace 中。
- 系統會產生 ZIP 檔案,內含定義、指令碼和設定。系統不會自動加入「管理員」資料夾。
- 如要匯出整合,請按照下列步驟操作:
- 按一下「匯出」即可下載檔案包。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。