Перед началом работы
Вам потребуется:- разрешение на управление интеграциями и ключами доступа в Living Security
- серверный отправитель, способный выполнять HTTPS-запросы
POST - регион Living Security для вашей организации
- постоянное имя источника и как минимум одно имя потока
1. Регистрация источника и потоков
1
Откройте Custom Push Source
Перейдите в Настройки → Интеграции → Каталог, найдите Custom Push Source и нажмите Добавить.
2
Задайте имя источника
Введите ключ маршрутизации источника и, при необходимости, описание. Например, используйте
custom-phishing-sim, а не отображаемое имя с пробелами.3
Добавьте потоки
Добавьте каждый поток, который будет использовать отправитель. Пара из источника и потока должна существовать до первой отправки; для неизвестной пары возвращается
404 Not Found.4
Сохраните источник
После создания откройте источник в разделе Настройки → Интеграции → подключен. На вкладке Push via API отображаются шаблон конечной точки и последние запуски.
2. Создание ключа push-приема
Перейдите в Настройки → Access Keys, нажмите Create Access Key и выберите область действия Push Ingest. Сразу скопируйте сгенерированное значение: оно отображается только один раз. Ключ привязан к одной организации Living Security. Для push-запроса заголовок организации не требуется. Сведения о ротации и отзыве см. в разделе Ключи доступа API.3. Выбор региональной конечной точки
Используйте имя хоста для вашей организации в Living Security:
Добавьте
/push-ingest/{integrationKey}/{streamName}. Путь чувствителен к регистру и должен точно совпадать с зарегистрированными источником и потоком.
string
обязательно
Зарегистрированное имя источника. Используйте 1–64 строчных букв, цифр или дефисов; имя должно начинаться с буквы или цифры.
string
обязательно
Зарегистрированное имя потока. Действуют те же правила, при этом также допускаются символы подчеркивания.
string
обязательно
Передайте ключ доступа push-приема в виде
Bearer <access-key>.string
Используйте
application/json для JSON или text/csv для CSV. Если этот заголовок опущен, сервер также может распознать массив JSON.string
Необязательный UUID организации. Организация уже определяется ключом доступа. Если вы отправляете этот заголовок, он должен совпадать с организацией ключа; с его помощью нельзя выбрать другую организацию.
Тело запроса
Отправьте непустой JSON-массив объектов верхнего уровня или байты файла CSV со строкой заголовков. Именованного поля-оболочки для JSON нет. Один пакет может содержать до 10 000 записей и занимать до 10 MB.4. Отправка пакета JSON
Отправьте непустой JSON-массив, элементами которого являются объекты.Content-Type: application/json рекомендуется и требуется многими отправляющими продуктами, хотя Living Security может распознать тело в виде массива и без него.
202 Accepted. На вкладке ошибки показан ответ 400 Bad Request, возвращаемый при неверном формате тела JSON:
400 исправьте JSON или отправьте CSV с Content-Type: text/csv и повторите попытку.
string
обязательно
Идентификатор запуска для этого принятого пакета. Сохраните его, чтобы проверять состояние обработки.
number
обязательно
Количество принятых и сохраненных записей.
string
обязательно
Имя источника, использованное для этой отправки.
string
обязательно
Имя потока, использованное для этой отправки.
Отправка CSV
ЗадайтеContent-Type: text/csv и отправьте байты файла, как показано в примере запроса CSV file выше. Первая строка задает имена полей.
Текстовые логические значения преобразуются в логический тип, а обычный числовой текст — в число. Значения с ведущими нулями, слишком большие для безопасного представления целые числа, даты и прочий текст остаются строками. Пустые ячейки приводят к тому, что соответствующее поле пропускается. Строки с ошибками формата, несбалансированные кавычки и файлы в кодировке UTF-16 отклоняются.
Ограничения запросов и повторные попытки
Разделяйте более крупные выгрузки на пакеты, удовлетворяющие обоим ограничениям. Дожидайтесь каждого ответа и сохраняйте возвращенный
runId в журналах отправителя.
Обычное ограничение для аутентифицированной организации возвращает
503, а не 429, поэтому отправители webhook считают такую ошибку допускающей повтор. Ответ 503 возвращается до сохранения пакета; повторная отправка того же пакета по истечении указанного интервала не приводит к дублированию принятого запуска.
Проверка потока данных
Откройте Custom Push Source и просмотрите Push History. Проверьте поток, количество записей, принадлежность ключу и состояние обработки. Данные, для которых есть поддерживаемый интерпретатор, затем могут стать пользователями и нормализованной активностью. Данные без интерпретатора остаются сохраненными, но активность не формируют.Если существует руководство для конкретного поставщика, используйте точные имена полей и структуру
полезной нагрузки из него. Успешный ответ
202 подтверждает доставку, но не то, что
произвольная схема сопоставляется с активностью Living Security.Контрольный список по устранению неполадок
- Скопируйте конечную точку из нужного источника и замените заполнитель потока.
- Передавайте ключ доступа в виде
Authorization: Bearer …;x-api-keyне принимается. - Убедитесь, что тело запроса — это JSON-массив верхнего уровня, а не отдельный объект и не оболочка вокруг записей.
- Проверьте написание источника и потока, включая дефисы, символы подчеркивания и регистр.
- Прежде чем повторно отправлять пакет, ответ на который был потерян, просмотрите Push History.
- При обращении в службу поддержки Living Security укажите организацию, источник, поток, время запроса,
runId(если доступно) и статус ответа. Не указывайте ключ доступа и полезную нагрузку событий.
См. также
Zscaler ZIA Cloud NSS
Настройте поддерживаемый источник веб-журналов Zscaler с точными значениями источника, потока, заголовков и структуры JSON.
Ключи доступа API
Создание, ротация и отзыв учетных данных с ограниченной областью действия.
Источники данных Сигналов
Узнайте, как интерпретируемая активность интеграций используется в Сигналах.

