Crea un'integrazione personalizzata
Questo documento spiega come creare integrazioni personalizzate all'interno dell'ambiente di sviluppo integrato (IDE) utilizzando la stessa struttura delle integrazioni commerciali. Puoi trovare e configurare integrazioni personalizzate in Google Security Operations Marketplace per vari ambienti. Puoi quindi utilizzarli in playbook, azioni manuali e agenti remoti. Sono supportate anche le funzionalità di importazione ed esportazione, in modo simile ad altri elementi dell'IDE.
Crea un'integrazione personalizzata nell'IDE
Puoi creare un'integrazione personalizzata per il prodotto Armis e creare un gestore insieme a un'azione Ping. Per questa procedura si presuppone la conoscenza di Python e della programmazione orientata agli oggetti.
Caso d'uso: creare un'integrazione Armis personalizzata
Per creare l'integrazione personalizzata nell'IDE:
- Nel menu principale, vai a Risposta > IDE.
- Fai clic su Crea nuovo elemento e seleziona Integrazione.
- Inserisci un nome e fai clic su Crea.
L'integrazione è ora elencata con l'opzione Impostazioni Impostazioni, a indicare che si tratta di un'integrazione personalizzata.
Fai clic su Impostazioni Impostazioni per visualizzare le impostazioni di integrazione in cui puoi definire l'icona, la descrizione, le dipendenze Python e i parametri di integrazione.
Creare un gestore personalizzato
I gestori sono wrapper per le API di strumenti di terze parti. Sebbene non siano obbligatori, li consigliamo per le integrazioni che interagiscono con strumenti esterni. I gestori non devono importare dall'SDK. Dopo la creazione, importali in connettori, azioni e job.
Per creare un gestore personalizzato:
- Nell'IDE, fai clic su Crea nuovo elemento e seleziona Manager.
- Seleziona l'integrazione Armis e inserisci il nome di un gestore.
- Modifica ed esegui lo script seguente:
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 ))
Parametri, configurazione di Google SecOps Marketplace e azione Ping
I parametri definiti nelle impostazioni di integrazione vengono visualizzati nella configurazione di Google SecOps Marketplace. I parametri includono:
- Radice API: l'URL di base del servizio a cui ti connetti.
- API Secret: una chiave riservata utilizzata per autenticare l'applicazione con il servizio.
- Casella di controllo Verifica SSL: se selezionata, verifica che il certificato SSL per la connessione al server Armis sia valido.
- Casella di controllo Esegui in remoto: un'impostazione che determina se il codice o l'attività verrà eseguito su un server remoto anziché localmente. Quando questa opzione è attiva, il sistema invia le istruzioni e i dati necessari a un server dedicato per l'elaborazione.
Per aggiornare i parametri:
- Inserisci le credenziali corrette.
- Fai clic su Salva > Test.
Se l'azione Ping non è presente, il pulsante Test non funziona e viene visualizzata una X rossa.
Implementare un'azione Ping
La logica dell'azione Ping si comporta come un'autenticazione riuscita.
Per implementare un'azione Ping:
- Nell'IDE, crea una nuova Azione nell'integrazione Armis denominata
Ping
. - Utilizza il metodo
ArmisManager
auth
per verificare l'autenticazione.
Attivare l'integrazione
Per attivare l'integrazione:
- In Response > IDE, fai clic sul pulsante di attivazione/disattivazione Attiva/Disattiva in modo che sia impostato su ON.
- Fai clic su Salva. Un pulsante verde conferma l'operazione riuscita. Le credenziali del marketplace vengono trasmesse ad ArmisManager. Se
auth
viene completato senza errori, il pulsante Test mostra un segno di spunta verde.
Utilizza il metodo extract_configuration_param
per importare i parametri dalla configurazione dell'integrazione. In alternativa, utilizza extract_action_param
per definire i parametri all'interno dell'azione stessa. Tuttavia, l'azione Ping deve sempre utilizzare i parametri di configurazione, in quanto vengono testati dal Marketplace.
Visualizzare le integrazioni personalizzate
Vai al Google SecOps Marketplace e cerca l'integrazione personalizzata che hai creato. Se non hai creato un'immagine durante la configurazione iniziale, verrà assegnata l'immagine personalizzata predefinita. Tieni presente che gli aggiornamenti di Google SecOps Marketplace non sostituiscono né eliminano le integrazioni personalizzate.
Esportazione e importazione nell'IDE
Esegui una delle seguenti operazioni:
- Per importare le integrazioni:
- Carica un file ZIP con la struttura di cartelle corretta. L'integrazione viene visualizzata nell'IDE e nel Google SecOps Marketplace.
- Fai clic su Importa. L'integrazione viene visualizzata sia nell'IDE che in Marketplace.
- Il sistema genera un file ZIP contenente la definizione, gli script e la configurazione. La cartella Gestori non è inclusa automaticamente.
- Per esportare le integrazioni:
- Fai clic su Esporta per scaricare il pacchetto.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.