Verbinden Sie Ihr SIEM mit dem Audit-Log-Feed von Uniqkey

Haben Sie Fragen? Anfrage einreichen

Uniqkey kann die Sicherheitsereignisse Ihrer Organisation an Ihr SIEM streamen (Microsoft Sentinel, Splunk, Elastic, Wazuh oder jedes Tool, das eine REST-API abfragen kann). Dieser Artikel erklärt, wie Sie die Integration im Admin Portal aktivieren, wie die Events-API funktioniert und was Sie von den Daten erwarten können.

Wer kann dies verwenden?

  • Die Integration wird pro Organisation von einem Organisationsadministrator im Admin Portal aktiviert.
  • Ihr SIEM benötigt ausgehenden HTTPS-Zugriff auf den Uniqkey-Events-Endpunkt.
  • Ereignisse sind dieselben Audit-Log-Einträge, die Sie bereits unter Audit logs im Admin Portal sehen. Nichts, was dort nicht sichtbar ist, wird exportiert, und Vault-Geheimnisse, Passwörter oder Schlüssel werden niemals einbezogen.

Schritt 1: Integration aktivieren und Token generieren

  1. Melden Sie sich als Administrator im Admin Portal an.
  2. Gehen Sie zu Integrations und öffnen Sie den Tab SIEM.
  3. Kopieren Sie den API endpoint oben im Widget angezeigten Wert. Dies ist die URL, die Ihr SIEM abfragt.
  4. Aktivieren Sie SIEM oder klicken Sie auf Generate Token. Ein Dialog zeigt Ihr neues Token an.
  5. Kopieren Sie den token and store it in your SIEM's secret store. Das Token wird nur einmal angezeigt. Nachdem Sie den Dialog geschlossen haben, kann es nicht erneut angezeigt werden.

Token später verwalten:

  • Regenerate Token erstellt ein neues Token und macht das alte sofort ungültig. Aktualisieren Sie Ihr SIEM vor oder unmittelbar nach der Neugenerierung, da die Abfrage sonst stoppt.
  • Das Deaktivieren von SIEM löscht das Token und deaktiviert die Integration. Ihr SIEM erhält 403 Forbidden until a new token is generated.
  • Es gibt ein Token pro Organisation. Wenn mehrere Tools den Feed benötigen, verwenden sie dasselbe Token.
  • Das Generieren oder Löschen eines Tokens wird ebenfalls im Audit-Log aufgezeichnet.

Schritt 2: SIEM konfigurieren

Jeder SIEM-Connector benötigt dieselben drei Dinge:

EinstellungWert
AnfrageGET on the API endpoint copied from the SIEM tab (.../api/v1/events)
AuthentifizierungHTTP header Authorization: Bearer <your token>
PaginierungSpeichern Sie den cursor aus jeder Antwort und senden Sie ihn als cursor-Abfrageparameter bei der nächsten Anfrage zurück. Fragen Sie weiter ab, solange has_more is true.

Eine Abfrage alle 5 Minuten ist ein guter Standard. Ereignisse werden etwa 2 Minuten nach ihrem Auftreten verfügbar (siehe „Was Sie von den Daten erwarten können“ unten), daher bringt eine häufigere Abfrage als alle 2 Minuten keinen Vorteil.

Schnelltest mit curl

curl -s "https://<endpoint>/api/v1/events?limit=5" \
  -H "Authorization: Bearer <your token>"

A working setup returns HTTP 200 with a JSON body like the one in the "Response" section. 401 means the Authorization header is missing or not a Bearer token. 403 means the token is unknown, was regenerated, or the integration is disabled.

API-Referenz

Anfrage

GET /api/v1/events

AbfrageparameterBeschreibung
cursorPositionsmarkierung aus einer vorherigen Antwort. Senden Sie sie unverändert zurück. Wenn vorhanden, bestimmt sie, wo die Seite beginnt; start is ignored.
startUntere Zeitgrenze, einschließlich, ISO 8601 (zum Beispiel 2026-09-01T00:00:00Z). Verwenden Sie sie für die erste Abfrage oder einen Backfill. Wenn keine Zeitzone angegeben ist, wird UTC angenommen.
endObere Zeitgrenze, ausschließlich, ISO 8601. Wird zusammen mit cursor angewendet, sodass ein begrenzter Backfill seitenweise verarbeitet werden kann.
limitEreignisse pro Seite. Standard 200, maximal 1000. Werte außerhalb des Bereichs werden begrenzt und nicht abgelehnt.
categoryNach einer oder mehreren Kategorien filtern. Wiederholen Sie den Parameter oder trennen Sie Werte durch Kommas: ?category=authentication,credential_access. Wenn weggelassen, werden alle Kategorien verwendet.

Eine Anfrage ohne Parameter ist gültig und gibt den Verlauf Ihrer Organisation von Anfang an seitenweise zurück.

Der Cursor ist undurchsichtig. Er darf nicht erstellt, analysiert oder verändert werden. Sein Format kann sich ohne Vorankündigung ändern, ein empfangener Cursor funktioniert jedoch weiterhin.

Antwort

{
  "events": [ ... ],
  "has_more": true,
  "cursor": "eyJUIjoiMjAyNi0wOS0wMVQwOToxNDoyMi4xMTdaIiwiSSI6Ijlh..."
}
  • Ereignisse werden beginnend mit den ältesten zurückgegeben.
  • has_more tells you whether to request the next page right away. Loop on has_more, not on an empty events array: a page can be empty while more data remains.
  • cursor is always present, including on empty pages and when has_more is false. Store it as your checkpoint after every response.

Fehler geben HTTP 400 mit einem maschinenlesbaren Code zurück:

{ "error": { "code": "invalid_cursor", "message": "Cursor is not valid. Submit the cursor from a previous response verbatim." } }
CodeBedeutung
invalid_cursorThe cursor was modified or is not from this API. Restart from a start time.
invalid_categoryUnbekannter Kategoriewert. Die Meldung listet die gültigen Werte auf.

Zeilengetrenntes JSON

Wenn Ihr Collector ein Ereignis pro Zeile bevorzugt (Splunk Generic REST Inputs, Elastic, Log-Shipper), senden Sie Accept: application/x-ndjson. Der Body enthält dann ein JSON-Ereignis pro Zeile ohne Envelope, und die Paging-Felder werden in die Response-Header verschoben:

Content-Type: application/x-ndjson
X-Next-Cursor: eyJUIjoi...
X-Has-More: true

Die Header bieten dieselben Garantien wie der JSON-Body: Der Cursor ist immer vorhanden, auch auf einer leeren Seite.

Ereignisformat

{
  "id": "9a1c7f2e-4b13-4a8e-9f21-0c2b7d5e8a44",
  "timestamp": "2026-09-01T09:14:22.117Z",
  "category": "credential_access",
  "action": "get_vault_password_details",
  "action_id": "daf12269-a58f-4e3a-ab01-05b1293a7cac",
  "action_source": "extension",
  "outcome": "success",
  "organization_id": "d5ecd732-4a67-418c-9dea-38a097fba1f6",
  "actor": { "id": "3f2a...", "email": "jane.doe@example.com", "type": "user" },
  "client": { "system": "extension", "ip": "185.23.44.9" },
  "target": { "type": "vault", "id": "7c9d...", "name": "GitHub build account" }
}
FeldBeschreibung
idEindeutige Ereignis-ID. Verwenden Sie sie zur Deduplizierung.
timestampZeitpunkt des Ereignisses in UTC.
categoryEine der unten aufgeführten Kategorien. Stabil: Eine bestimmte Aktion wechselt niemals die Kategorie.
actionMenschenlesbarer Aktionsname, zum Beispiel login_to_extension. Nicht eindeutig (dieselbe Aktion von zwei Oberflächen hat denselben Namen) und nicht garantiert stabil. Verwenden Sie ihn zur Anzeige.
action_idStabile Kennung des Aktionstyps. Erstellen Sie Erkennungsregeln auf dieser Grundlage, nicht auf action.
action_sourceWelcher Teil von Uniqkey die Aktion definiert: extension, mobile, web_portal, partner_portal, scim_service, desktop_extension, queue_messages, breach. Verwenden Sie dies, um zwei Ereignisse mit derselben action.
outcomesuccess or failure. See the note under "What to expect".
organization_idIhre Organisations-ID.
actor.id, actor.emailDer Mitarbeiter, der die Aktion ausgeführt hat, sofern vorhanden.
actor.typeuser, scim, system, supporter (a partner support user), or breach.
client.systemWoher die Anfrage kam: extension, mobile, web, desktop, or undefined. Viele Ereignisse enthalten undefined; bevorzugen Sie action_source wenn Sie die Oberfläche bestimmen müssen.
client.ipQuell-IP der Anfrage, sofern aufgezeichnet. Kann fehlen.
target.type, target.id, target.nameDas Objekt, auf das sich die Aktion bezieht: vault, employee, group, employee_group, resource_collection, or tag. name ist der Name des Objekts zum Zeitpunkt des Ereignisses und kann fehlen (Tags enthalten niemals einen Namen).

Kategorien

KategorieEnthält
authenticationAn- und Abmeldungen, Lebenszyklus des Masterpassworts, SSO-Anmeldung sowie Trusted-Browser- und Portal-Sitzungen
account_managementMitarbeiterlebenszyklus und Profiländerungen: eingeladen, aktiviert, archiviert, gelöscht, einschließlich SCIM-Bereitstellung
privilege_managementAdministratorrechte erteilt oder entzogen, Partner-Supportzugriff gewährt
group_managementGruppen, Mitarbeitergruppen, Ressourcensammlungen, Tags und deren Mitgliedschaften
credential_accessEin Geheimnis wurde angezeigt oder kopiert oder seine Details wurden angefordert, genehmigt oder abgelehnt. Die Kategorie mit dem höchsten Ereignisvolumen.
credential_managementVault-Einträge und Passkeys erstellt, bearbeitet oder gelöscht
sharingAlles, was ändert, wer auf Anmeldedaten zugreifen kann: Freigaben, Widerrufe, Abläufe, Verschiebungen und Aufhebungen von Verknüpfungen
data_exportDaten, die das System in großen Mengen verlassen, z. B. Login-Exporte
policy_managementSicherheitseinstellungen, Einschränkungen und Einschränkungsvorlagen, Aufbewahrungszeiträume, SSO-Provider-Konfiguration
device_managementGeräte und Begleit-Apps gekoppelt oder entkoppelt, passive Registrierung der Erweiterung
organization_managementOrganisationsdetails, verifizierte Domains, Archivierung und Wiederherstellung der Organisation, SIEM-Token generiert oder gelöscht
threat_detectionEreignisse zur Überwachung von Datenlecks und Passwortwiederverwendung
otherGenerische Ereignisse ohne eigenständige Sicherheitsbedeutung sowie Ereignisse, die vor Einführung der aktuellen Kategorisierung aufgezeichnet wurden

Da jedes Ereignis eine Kategorie enthält, können mehrere Connectoren mit unterschiedlichen category-Filtern auf denselben Endpunkt verweisen, beispielsweise um credential_access an eine günstigere Speicherebene zu leiten und den Rest in Ihrer Analyseebene zu behalten.

Was Sie von den Daten erwarten können

  • Die Zustellung erfolgt mindestens einmal. Unter bestimmten Bedingungen kann ein Ereignis zweimal zugestellt werden. Deduplizieren Sie anhand von id.
  • Ereignisse erscheinen etwa 2 Minuten nach ihrem Auftreten. Der Feed hält die neuesten 2 Minuten absichtlich zurück, damit kein Ereignis übersprungen wird, während Schreibvorgänge noch abgeschlossen werden. Deshalb sollte Ihr SIEM nicht häufiger als alle 2 Minuten abfragen.
  • Der Verlauf ist durch die Aufbewahrungsdauer Ihres Audit-Logs begrenzt. Der Feed liefert die von Ihrer Organisation aufbewahrten Daten. Prüfen Sie Data Cleanup & Retention in den Organisationseinstellungen. Wenn Ihr Collector länger als der Aufbewahrungszeitraum ausfällt, können abgelaufene Ereignisse nicht wiederhergestellt werden. Lassen Sie den Collector kontinuierlich laufen.
  • outcome ist kein Signal für eine fehlgeschlagene Anmeldung. Uniqkey zeichnet derzeit keine fehlgeschlagenen Anmeldeversuche auf, daher ist jedes authentication-Ereignis erfolgreich. failure wird nur für Aktionen verwendet, deren Zweck die Aufzeichnung einer Ablehnung ist, beispielsweise eine in der mobilen App abgelehnte Genehmigungsanfrage. Erstellen Sie keine Brute-Force-Erkennungen auf Grundlage dieses Feeds.
  • client.ip ist nicht immer vorhanden. Ereignisse aus Hintergrundprozessen, SCIM oder bestimmten Client-Abläufen enthalten keine IP. Der Wert wird aus der empfangenen Anfrage übernommen und sollte als vom Client gemeldet und nicht als durch die Infrastruktur verifiziert betrachtet werden.
  • Sensible Daten werden niemals einbezogen. Passwörter, sichere Notizen, Kartennummern, Schlüssel und andere verschlüsselte Vault-Inhalte verlassen niemals die Zero-Knowledge-Grenze. Der Feed enthält nur die im Audit-Log des Admin Portals sichtbaren Metadaten.

Hinweise je SIEM

Uniqkey stellt derzeit noch keine vorgefertigten Connector-Pakete bereit. Der Endpunkt folgt denselben Konventionen wie andere Anbieter von Identitäts- und Passwortmanager-Lösungen, sodass der standardmäßige REST-Abfragemechanismus jedes SIEM funktioniert.

  • Microsoft Sentinel: use a Codeless Connector or a Logic App with API key authentication (Authorization header, prefix Bearer ). Configure paging on the cursor response field, sent back as the cursor query parameter, and use has_more as the loop condition. The API accepts start and cursor together, which is how the Codeless Connector Framework sends its second page.
  • Splunk: a REST modular input or an Add-on Builder input works. Send Accept: application/x-ndjson so each event is indexed as its own record, and read X-Next-Cursor and X-Has-More for checkpointing.
  • Elastic: the Elastic Agent or Filebeat HTTP JSON / CEL input can poll the endpoint, persist cursor as its cursor state, and loop on has_more. NDJSON mode is also supported.
  • Wazuh: Wazuh has no native REST poller. Run a small scheduled script that polls the endpoint, keeps the cursor in a state file, and writes events as JSON lines to a log file that a Wazuh agent monitors with log_format: json.

Fehlerbehebung

SymptomWahrscheinliche UrsacheLösung
401 UnauthorizedNo Authorization header, or it does not start with BearerÜberprüfen Sie das Header-Format im SIEM-Connector.
403 ForbiddenDas Token ist falsch, wurde neu generiert oder die Integration wurde deaktiviert.Generieren Sie im SIEM-Tab ein neues Token und aktualisieren Sie das SIEM.
400 invalid_cursorDer Cursor wurde bearbeitet, gekürzt oder stammt aus einer anderen Organisation.Reset the connector checkpoint and restart from a start time
400 invalid_categoryTippfehler im KategoriefilterVerwenden Sie einen der Werte aus der Kategorietabelle.
Der Feed ist leer, aber das Admin Portal zeigt Ereignisse an.Die Ereignisse sind jünger als 2 Minuten oder werden durch den Kategoriefilter ausgeschlossen.Warten Sie oder entfernen Sie den Filter.
Der Connector stoppt nach einiger Zeit.Der Checkpoint ging verloren oder das Token wurde neu generiert.Bestätigen Sie, dass der Cursor gespeichert wird, und dass das Token im SIEM dem neuesten Token entspricht.
Ältere Ereignisse fehlenDie Aufbewahrungsfrist des Audit-Logs ist für diese Ereignisse abgelaufen.Überprüfen Sie den Aufbewahrungszeitraum und lassen Sie den Collector kontinuierlich laufen.
Doppelte EreignisseNormal bei einer At-least-once-ZustellungDeduplicate on id

Wenn Sie den Support kontaktieren, geben Sie Ihre Organisations-ID, die genaue Anfrage-URL ohne Token, den HTTP-Status und den Response-Body an.

Beiträge in diesem Abschnitt