Crea una integración personalizada
En este documento, se explica cómo crear integraciones personalizadas dentro del entorno de desarrollo integrado (IDE) con la misma estructura que las integraciones comerciales. Puedes encontrar y configurar integraciones personalizadas en Google Security Operations Marketplace para diversos entornos. Luego, puedes usarlos en guías, acciones manuales y agentes remotos. También se admite la capacidad de importar y exportar, de manera similar a otros elementos del IDE.
Crea una integración personalizada en el IDE
Puedes crear una integración personalizada para el producto de Armis y crear un administrador junto con una acción de Ping. Para este procedimiento, se supone que tienes conocimientos de Python y programación orientada a objetos.
Caso de uso: Compila una integración personalizada de Armis
Para crear la integración personalizada en el IDE, sigue estos pasos:
- En el menú principal, ve a Response > IDE.
- Haz clic en Crear elemento nuevo y selecciona Integración.
- Ingresa un nombre y haz clic en Crear.
La integración ahora aparece con la opción Configuración Configuración, lo que indica que es una integración personalizada.
Haz clic en Configuración Configuración para mostrar la configuración de la integración, en la que puedes definir el ícono, la descripción, las dependencias de Python y los parámetros de integración.
Crea un administrador personalizado
Los administradores son wrappers para las APIs de herramientas de terceros. Aunque no son obligatorias, las recomendamos para las integraciones que interactúan con herramientas externas. Los administradores no deben importar desde el SDK. Después de crearlos, impórtalos a conectores, acciones y trabajos.
Para crear un administrador personalizado, sigue estos pasos:
- En el IDE, haz clic en Create New Item y selecciona Manager.
- Selecciona la integración de Armis y, luego, ingresa el nombre de un administrador.
- Edita y ejecuta la siguiente secuencia de comandos:
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) La respuesta que se validará :param error_msg: (str) El mensaje de error que se mostrará """ 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 ))
Parámetros, configuración de Google SecOps Marketplace y la acción Ping
Los parámetros definidos en la configuración de la integración aparecen en la configuración de Google SecOps Marketplace. Los parámetros incluyen lo siguiente:
- API Root: Es la URL base del servicio al que te conectas.
- Secreto de la API: Es una clave confidencial que se usa para autenticar tu aplicación con el servicio.
- Casilla de verificación Verificar SSL: Si está habilitada, verifica que el certificado SSL para la conexión al servidor de Armis sea válido.
- Casilla de verificación Ejecutar de forma remota: Es un parámetro de configuración que determina si el código o la tarea se ejecutarán en un servidor remoto en lugar de hacerlo de forma local. Cuando esta opción está habilitada, el sistema envía las instrucciones y los datos necesarios a un servidor dedicado para su procesamiento.
Para actualizar los parámetros, sigue estos pasos:
- Ingresa las credenciales correctas.
- Haz clic en Guardar > Probar.
Si falta la acción Ping, el botón Probar falla y muestra una X roja.
Implementa una acción de ping
La lógica de la acción Ping funciona como una autenticación exitosa.
Para implementar una acción de Ping, haz lo siguiente:
- En el IDE, crea una nueva acción en la integración de Armis llamada
Ping
. - Usa el método
ArmisManager
auth
para verificar la autenticación.
Habilita la integración
Para habilitar la integración, sigue estos pasos:
- En Response > IDE, haz clic en el botón de activación Habilitar/Inhabilitar para llevarlo a la posición ACTIVADO.
- Haz clic en Guardar. El botón de activación verde confirma que la operación se realizó correctamente. Las credenciales de Marketplace se pasan a ArmisManager. Si
auth
se completa sin errores, el botón Probar mostrará una marca de verificación verde.
Usa el método extract_configuration_param
para importar parámetros desde la configuración de la integración. Como alternativa, usa extract_action_param
para definir parámetros dentro de la acción. Sin embargo, la acción Ping siempre debe usar parámetros de configuración, ya que Marketplace los prueba.
Cómo ver las integraciones personalizadas
Ve a Google SecOps Marketplace y busca la integración personalizada que creaste. Si no creaste una imagen durante la configuración inicial, se le asignará la imagen personalizada predeterminada. Ten en cuenta que las actualizaciones de Google SecOps Marketplace no anulan ni borran ninguna integración personalizada.
Importar y exportar en el IDE
Realiza una de las siguientes acciones:
- Para importar integraciones, haz lo siguiente:
- Sube un archivo ZIP con la estructura de carpetas correcta. La integración aparecerá en el IDE y en Google SecOps Marketplace.
- Haz clic en Importar. La integración aparece en el IDE y en Marketplace.
- El sistema genera un archivo ZIP que contiene la definición, las secuencias de comandos y la configuración. La carpeta Administradores no se incluye automáticamente.
- Para exportar integraciones, haz lo siguiente:
- Haz clic en Exportar para descargar el paquete.
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.