Szkielet integracji: incydent ipIII → rekord ServiceNow (incident / problem / change). Mapowanie pól i koncepcyjny payload REST są opisane i pokazane na danych syntetycznych (MVP). Warstwa transportu (realne wywołanie Table API instancji, uwierzytelnienie, retry) jest ROADMAP — jeszcze nie wysyła. Zgodnie z doktryną claim ≤ proof: opisujemy dokładnie tyle, ile potrafimy pokazać.
Konektor ma jedno zadanie: przełożyć znormalizowany incydent z warstwy evidence ipIII na rekord w ServiceNow, tak aby zespół SecOps/ITSM pracował w narzędziu, które już zna. MVP definiuje mapowanie pól i koncepcyjny payload REST; transport to kolejny krok.
| Element | Opis | Status |
|---|---|---|
| Mapowanie pól | Reguły przełożenia pól incydentu ipIII na atrybuty rekordu ServiceNow (severity → urgency/impact, kategoria → category, evidence → work_notes). | MVP |
| Payload REST (kształt) | Koncepcyjny JSON zgodny z Table API (/api/now/table/incident) — gotowy koncepcyjnie, pokazany na danych syntetycznych. |
MVP |
| Wybór typu rekordu | Logika: pojedyncze zdarzenie → incident; przyczyna źródłowa / powtarzalny wzorzec → problem; działanie naprawcze wymagające zmiany → change_request. |
MVP |
| Sandbox / dry-run | Podgląd payloadu bez wysyłki (walidacja kształtu, dane syntetyczne). Renderowanie po stronie serwera, bez realnego połączenia. | MVP |
| Transport (Table API) | Realne wywołanie POST do instancji ServiceNow, uwierzytelnienie (OAuth / basic per instancja), TLS. |
ROADMAP |
| Idempotencja i retry | Klucz korelacji (correlation_id) przeciw duplikatom, ponowienia z backoff, kolejka przy błędzie. |
ROADMAP |
| Sprzężenie zwrotne | Odczyt sys_id / stanu rekordu z powrotem do incydentu ipIII (dwukierunkowa synchronizacja stanu). |
ROADMAP |
Reguły MVP. Wartości docelowe ServiceNow są orientacyjne — finalne mapowanie zależy od modelu procesu instancji odbiorcy.
| Pole ipIII | Pole ServiceNow | Reguła / uwaga |
|---|---|---|
incident.title | short_description | Skrót, przycięcie do limitu pola. |
incident.summary | description | Pełny opis kontekstu. |
incident.severity | urgency + impact | crit→(1,1), high→(2,2), med→(3,3), low→(3,4). Orientacyjnie. |
incident.category | category / subcategory | Mapa słownikowa (np. phishing, podatność, wyciek). |
incident.source | contact_type | Stała np. integration. |
evidence[].ref | work_notes | Linki/hashe evidence-package (bez treści wrażliwej). |
incident.id | correlation_id | Klucz idempotencji (transport ROADMAP). |
incident.legal_flags | work_notes | Terminy DORA/NIS2 jako wsparcie decyzji, nie porada prawna. |
Kształt koncepcyjny dla POST /api/now/table/incident. Dane w całości syntetyczne — nie pochodzą z żadnej realnej instancji ani zdarzenia. To ilustracja mapowania, nie zrzut produkcyjny.
POST /api/now/table/incident # ROADMAP: transport jeszcze nieaktywny
Content-Type: application/json
{
"short_description": "[ipIII] Podejrzana wiadomosc phishingowa - dzial finansowy",
"description": "Znormalizowany incydent ipIII. Zrodlo: zgloszenie uzytkownika (syntetyczne).",
"urgency": "2",
"impact": "2",
"category": "security",
"subcategory": "phishing",
"contact_type": "integration",
"correlation_id": "ipiii-INC-2026-0000-SAMPLE",
"work_notes": "evidence: pkg://sample/ab12cd34 (sha256, syntetyczne)\nlegal: DORA art.19 - orientacyjnie, wsparcie decyzji, nie porada prawna"
}
Wybór endpointu wg typu rekordu: /table/incident · /table/problem · /table/change_request. Powyżej: wariant incident.
Formularz renderowany po stronie serwera. Zwraca podgląd zmapowanego payloadu na danych przykładowych — nie łączy się z żadną instancją ServiceNow. Transport pozostaje ROADMAP.
Powiązane: przegląd konektorów → /connectors · workflow działań naprawczych → /remediation · rejestr znanych ograniczeń → /known-limitations.