Antes de começar
Você precisa de:- permissão para gerenciar integrações e chaves de acesso na Living Security
- um remetente no lado do servidor capaz de fazer requisições HTTPS
POST - a região da Living Security da sua organização
- um nome de origem estável e pelo menos um nome de stream
1. Registrar a origem e os streams
1
Abra a Custom Push Source
Acesse Configurações → Integrações → Catálogo, localize Custom Push Source e selecione Adicionar.
2
Dê um nome à origem
Informe a chave de roteamento da origem e uma descrição opcional. Por exemplo, use
custom-phishing-sim em vez de um nome de exibição com espaços.3
Adicione os streams
Adicione cada stream que o remetente utilizará. O par formado pela origem e pelo stream deve existir antes do primeiro envio; um par desconhecido retorna
404 Not Found.4
Salve a origem
Após a criação, abra a origem em Configurações → Integrações → conectado. A visualização Push via API mostra o padrão do endpoint e as execuções recentes.
2. Criar uma chave de ingestão por push
Acesse Configurações → Access Keys, selecione Create Access Key e escolha o escopo Push Ingest. Copie o valor gerado imediatamente; ele é exibido apenas uma vez. A chave está vinculada a uma única organização da Living Security. A requisição de push não precisa de um cabeçalho de organização. Consulte Chaves de acesso de API para informações sobre rotação e revogação.3. Escolher o endpoint regional
Use o nome de host correspondente à organização da Living Security:
Acrescente
/push-ingest/{integrationKey}/{streamName}. O caminho diferencia maiúsculas de minúsculas e deve corresponder exatamente à origem e ao stream registrados.
string
obrigatório
O nome da origem registrada. Use de 1 a 64 letras minúsculas, dígitos ou hifens, começando com uma letra ou um dígito.
string
obrigatório
O nome do stream registrado. As mesmas regras se aplicam, e sublinhados também são permitidos.
string
obrigatório
Envie a chave de acesso de ingestão por push como
Bearer <access-key>.string
Use
application/json para JSON ou text/csv para CSV. O servidor também pode detectar um array JSON quando este cabeçalho é omitido.string
UUID da organização (opcional). A chave de acesso já determina a organização. Se você enviar este cabeçalho, ele deve corresponder à organização da chave; ele não pode selecionar outra organização.
Corpo da requisição
Envie um array JSON de nível superior, não vazio, de objetos, ou os bytes de um arquivo CSV com uma linha de cabeçalho. Não há campo de encapsulamento JSON nomeado. Cada lote pode conter até 10.000 registros e 10 MB.4. Enviar um lote JSON
Envie um array JSON não vazio cujos elementos sejam objetos.Content-Type: application/json é recomendado e exigido por muitos produtos de envio, embora a Living Security consiga detectar um corpo em formato de array sem ele.
202 Accepted. A guia de erro mostra um 400 Bad Request quando o corpo JSON está malformado:
400, corrija o JSON ou envie um CSV com Content-Type: text/csv e tente novamente.
string
obrigatório
O ID da execução deste lote aceito. Guarde-o para verificar o status do processamento.
number
obrigatório
O número de registros aceitos e armazenados.
string
obrigatório
O nome da origem usado neste envio.
string
obrigatório
O nome do stream usado neste envio.
Enviar CSV
DefinaContent-Type: text/csv e envie os bytes do arquivo, conforme mostrado no exemplo de requisição CSV file acima. A primeira linha fornece os nomes dos campos.
Texto booleano torna-se booleano e texto numérico comum torna-se número. Valores com zeros à esquerda, inteiros grandes não seguros, datas e outros textos permanecem como strings. Células vazias omitem o campo. Linhas malformadas, aspas não balanceadas e arquivos UTF-16 são rejeitados.
Limites de requisição e novas tentativas
Divida exportações maiores em lotes que atendam a ambos os limites. Aguarde cada resposta e mantenha o
runId retornado nos logs do remetente.
O limite normal da organização autenticada retorna
503, e não 429, de modo que os remetentes de webhook o tratem como passível de nova tentativa. Um 503 é retornado antes de o lote ser armazenado; reenviar esse mesmo lote após o intervalo indicado não duplica uma execução aceita.
Verificar o fluxo de dados
Abra a Custom Push Source e revise o Push History. Confirme o stream, a contagem de registros, a atribuição da chave e o status do processamento. Os dados com um interpretador mantido podem então se tornar pessoas e atividade normalizada. Os dados sem interpretador permanecem armazenados, mas não geram atividade.Use os nomes de campo exatos e o formato de payload do guia específico do provedor,
quando houver um. Um
202 bem-sucedido comprova a entrega, mas não que um esquema
arbitrário seja mapeado para a atividade da Living Security.Lista de verificação para solução de problemas
- Copie o endpoint da origem correta e substitua o marcador de posição do stream.
- Envie a chave de acesso como
Authorization: Bearer …;x-api-keynão é aceito. - Confirme que o corpo é um array JSON de nível superior, e não um objeto único nem um envelope em torno dos registros.
- Confirme a grafia da origem e do stream, incluindo hifens, sublinhados e maiúsculas e minúsculas.
- Revise o Push History antes de reenviar um lote cuja resposta foi perdida.
- Ao entrar em contato com o Suporte da Living Security, inclua a organização, a origem, o stream, o horário da requisição, o
runIdquando disponível e o status da resposta. Não inclua a chave de acesso nem o payload do evento.
Relacionados
Zscaler ZIA Cloud NSS
Configure um feed de logs web do Zscaler compatível com a origem, o stream, os cabeçalhos e o formato JSON exatos.
Chaves de acesso de API
Crie, faça a rotação e revogue credenciais com escopo definido.
Fontes de dados de Sinais
Saiba como a atividade de integração interpretada dá suporte aos Sinais.

