1Security
Przewodniki

Integracja z SIEM

Przesyłaj strumieniowo alerty i logi z 1Security do systemów Splunk, Microsoft Sentinel lub dowolnego SIEM za pomocą cyklicznego odpytywania REST.

Ten przewodnik pokazuje, jak przesyłać alerty monitoringu, dzienniki audytu oraz alerty bezpieczeństwa z 1Security do Twojego systemu SIEM za pomocą API REST. Model przesyłania oparty jest na mechanizmie pull-based: Twój system SIEM odpytuje nasze API zgodnie z harmonogramem i przechowuje kursor (znacznik), dzięki czemu każde odpytanie pobiera tylko nowe dane.

1. Utwórz klucz API

Na panelu nawigacyjnym otwórz Ustawienia → Klucze API i utwórz klucz z uprawnieniami, których potrzebujesz (logs:read, monitoring-alerts:read, security-alerts:read). Skopiuj sekretny ciąg znaków zaczynający się od 1sec_live_… — jest on wyświetlany tylko raz.

Zweryfikuj go:

curl -H "Authorization: Bearer $ONESEC_API_KEY" \
  https://api.1security.ai/api/v1/ping

2. Wzorzec odpytywania przyrostowego

Nie pobieraj całej historii przy każdym uruchomieniu. Zamiast tego zastosuj okno czasowe oparte o czas ingestii (przyjęcia) i zachowaj stan "znacznika czasu" (watermark) pomiędzy odpytaniami.

Zapisz znacznik czasu (watermark)

Zachowaj czas ostatniego udanego odpytania (zacznij od "teraz minus kilka minut").

Pobierz okno danych

Odpytuj tylko o zdarzenia przetworzone po znaczniku czasu. Dla punktu końcowego /logs używaj parametru discoveredFrom (czas ingestii w 1Security) zamiast parametru from (czas wystąpienia zdarzenia w środowisku) — opóźnione zdarzenia z M365 są dzięki temu wykazywane po ich fizycznym przyjęciu przez system i nic Ci nie umknie.

curl -H "Authorization: Bearer $ONESEC_API_KEY" \
  "https://api.1security.ai/api/v1/logs?discoveredFrom=2026-06-05T09:00:00Z&limit=1000"

Przejdź przez strony (Paginacja)

Śledź wartość pagination.nextCursor jako argument ?cursor= do momentu, aż flaga hasMore zwróci wartość false.

Przesuń znacznik i zdeduplikuj

Zaktualizuj znacznik na obecny czas i zastosuj deduplikację w SIEM, używając atrybutu id jako klucza zdarzenia. Dzięki temu nachodzące na siebie okna odpytywania nie spowodują podwójnego indeksowania.

Zawsze minimalnie nadpisuj okna odpytywania (pytaj z marginesem minuty lub dwóch) i polegaj na deduplikacji atrybutu id, zamiast precyzyjnych i ryzykownych kursorów brzegowych. To najbezpieczniejsza metoda na zagwarantowanie braku luk w logach po restarcie.

3. Integracja z Twoim SIEM

Skorzystaj z wtyczki REST API Modular Input (np. za pomocą Splunk Add-on Builder lub modułu rest_ta):

  • Punkt końcowy (Endpoint): https://api.1security.ai/api/v1/security-alerts
  • Nagłówek uwierzytelniania: Authorization: Bearer <twój klucz>
  • Handler odpowiedzi: zaczytuj atrybuty w liście tablicy data[], czas zdarzenia bierz z firstActivityDateTime, a do deduplikacji używaj klucza id.
  • Harmonogram: pobieraj co 1-5 minut i zachowuj parametry discoveredFrom/from jako punkt kontrolny.

Użyj wtyczki bezkodowej Codeless Connector (lub Logic App), która wyśle żądanie GET na każdy endpoint według harmonogramu, przejdzie przez strony uzywając pagination.nextCursor i prześle treść tablicy data[] do logów z poziomu Custom Table API korzystając z Data Collection Endpoint. Stan znacznika przechowuj w konfiguracji konektora.

Szkic minimalistycznego skryptu poller'a dla zadań Cron:

#!/usr/bin/env bash
SINCE=$(cat .watermark 2>/dev/null || date -u -d '-5 min' +%FT%TZ)
CURSOR=""
while :; do
  RESP=$(curl -s -H "Authorization: Bearer $ONESEC_API_KEY" \
    "https://api.1security.ai/api/v1/logs?discoveredFrom=$SINCE&limit=1000&cursor=$CURSOR")
  echo "$RESP" | jq -c '.data[]' >> /var/log/1security-logs.ndjson
  CURSOR=$(echo "$RESP" | jq -r '.pagination.nextCursor // empty')
  [ -z "$CURSOR" ] && break
done
date -u +%FT%TZ > .watermark

4. Zarządzanie limitami zapytań (Rate Limits)

Pozostań poniżej 600 zapytań na minutę w obrębie każdego klucza. Jeśli otrzymasz błąd 429, zastosuj się do zawartości nagłówka Retry-After. Dla zdecydowanej większości instalacji regularne odpytywanie endpointa np. raz na minutę przy zastosowaniu ogromnych wskaźników parametru limit z pewnością nie przebije tego budżetu.

Ściąga do mapowania kluczowych pól

Cel użyciaDzienniki aktywności (Logs)Alerty bezpieczeństwa (Security alerts)
Czas zdarzeniaoccurredAtfirstActivityDateTime
Klucz deduplikacjiidid
Wagą / Krytycznośćseverityseverity
Aktor / DziałaczactorName / actorIpactorDisplayName
Naruszony zasóbresourceName / resourceTypethreatDisplayName

Przejdź do pełnej Dokumentacji Referencyjnej API, aby przeanalizować wszystkie dostępne atrybuty.

On this page