Crie uma integração personalizada
Este documento explica como criar integrações personalizadas no ambiente de desenvolvimento integrado (IDE) usando a mesma estrutura que as integrações comerciais. Pode encontrar e configurar integrações personalizadas no Google Security Operations Marketplace para vários ambientes. Em seguida, pode usá-los em manuais de estratégias, ações manuais e agentes remotos. A capacidade de importação e exportação também é suportada, de forma semelhante a outros itens do IDE.
Crie uma integração personalizada no IDE
Pode criar uma integração personalizada para o produto Armis e criar um gestor juntamente com uma ação Ping. Para este procedimento, pressupõe-se que tem conhecimentos de Python e programação orientada para objetos.
Exemplo de utilização: crie uma integração personalizada da Armis
Para criar a integração personalizada no IDE, siga estes passos:
- No menu principal, aceda a Resposta > IDE.
- Clique em Criar novo item e selecione Integração.
- Introduza um nome e clique em Criar.
A integração é agora apresentada com a opção definições Definições, o que indica que se trata de uma integração personalizada.
Clique em settings Settings para apresentar as definições de integração, onde pode definir o ícone, a descrição, as dependências do Python e os parâmetros de integração.
Crie um gestor personalizado
Os gestores são wrappers para APIs de ferramentas de terceiros. Embora não seja obrigatório, recomendamos a utilização de tokens para integrações que interagem com ferramentas externas. Os gestores não devem importar do SDK. Após a criação, importe-os para conetores, ações e tarefas.
Para criar um gestor personalizado, siga estes passos:
- No IDE, clique em Create New Item e selecione Manager.
- Selecione a integração Armis e introduza o nome de um gestor.
- Edite e execute o seguinte script:
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
))
Parâmetros, configuração do Google SecOps Marketplace e ação Ping
Os parâmetros definidos nas definições de integração aparecem na configuração do Google SecOps Marketplace. Os parâmetros incluem:
- Raiz da API: o URL de base do serviço ao qual está a estabelecer ligação.
- Segredo da API: uma chave confidencial usada para autenticar a sua aplicação junto do serviço.
- Caixa de verificação Validar SSL: se estiver ativada, verifica se o certificado SSL para a ligação ao servidor Armis é válido.
- Caixa de verificação Executar remotamente: uma definição que determina se o código ou a tarefa vai ser executada num servidor remoto em vez de localmente. Quando esta opção está ativada, o sistema envia as instruções e os dados necessários para um servidor dedicado para processamento.
Para atualizar os parâmetros, siga estes passos:
- Introduza as credenciais corretas.
- Clique em Guardar > Testar.
Se a ação Ping estiver em falta, o botão Testar falha e apresenta um X vermelho.
Implemente uma ação de ping
A lógica da ação Ping funciona como uma autenticação bem-sucedida.
Para implementar uma ação Ping, faça o seguinte:
- No IDE, crie uma nova Action na integração do Armis com o nome
Ping. - Use o método
ArmisManagerauthpara validar a autenticação.
Ative a integração
Para ativar a integração, siga estes passos:
- Em Resposta > IDE, clique no botão Ativar/Desativar para a posição ATIVADO.
- Clique em Guardar. Um botão verde confirma o êxito. As credenciais do mercado são transmitidas ao ArmisManager. Se a
authfor concluída sem erros, o botão Testar apresenta uma marca de verificação verde.
Use o método extract_configuration_param para importar parâmetros da configuração de integração. Em alternativa, use extract_action_param para definir parâmetros na própria ação. No entanto, a ação Ping deve usar sempre parâmetros de configuração, uma vez que são testados pelo Marketplace.
Veja integrações personalizadas
Aceda ao Google SecOps Marketplace e pesquise a integração personalizada que criou. Se não criou uma imagem durante a configuração inicial, é-lhe atribuída a imagem personalizada predefinida. Tenha em atenção que as atualizações do Google SecOps Marketplace não substituem nem eliminam integrações personalizadas.
Exporte e importe no IDE
Realize uma das seguintes ações:
- Para importar integrações, faça o seguinte:
- Carregue um ficheiro ZIP com a estrutura de pastas correta. A integração aparece no IDE e no Google SecOps Marketplace.
- Clique em Importar. A integração é apresentada no IDE e no Marketplace.
- O sistema gera um ficheiro ZIP com a definição, os scripts e a configuração. A pasta Gestores não é incluída automaticamente.
- Para exportar integrações, faça o seguinte:
- Clique em Exportar para transferir o pacote.
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.