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. Registre a origem e os streams
1
Abra o Custom Push Source
Acesse Configurações → Integrações → Catálogo, localize Custom Push Source e selecione Adicionar.
2
Nomeie a 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. Crie uma chave de push-ingest
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 envio 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. Escolha 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 push-ingest 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 deverá corresponder à organização da chave; ele não permite selecionar outra organização.
Corpo da requisição
Envie um array JSON de nível superior, não vazio, com objetos, ou os bytes de um arquivo CSV com linha de cabeçalho. Não há campo de encapsulamento JSON nomeado. Cada lote pode conter até 10.000 registros e 10 MB.4. Envie 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 consultar 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.
Envie CSV em vez de JSON
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.
Textos booleanos tornam-se booleanos e textos numéricos comuns tornam-se números. Valores com zeros à esquerda, inteiros grandes demais para serem representados com segurança, datas e demais textos permanecem como strings. Células vazias omitem o respectivo campo. Linhas malformadas, aspas sem par 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.
Verifique o fluxo de dados
Abra o 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. Dados com um interpretador mantido podem então se tornar pessoas e atividade normalizada. Dados sem interpretador permanecem armazenados, mas não geram atividade.Use os nomes exatos dos campos e o formato de payload do guia específico do
provedor, quando houver. 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 único objeto nem um envelope em torno dos registros.
- Confirme a grafia da origem e do stream, incluindo hifens, sublinhados e maiúsculas/minúsculas.
- Revise o Push History antes de reenviar um lote cuja resposta tenha sido 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 interpretada das integrações oferece suporte aos Sinais.

