[FEAT] Connettori Discovery — UI gestione per org (Fase 4)

Pagina connettori-discovery.html + connettori-discovery.js (DiscoveryUI): lista
connettori, crea (mostra la chiave API una sola volta + comando agente), dettaglio
con storico run, rigenera chiave, elimina. Solo org_admin.
- Voce sidebar V2 "Connettori Discovery" in Operativo (common-bi.js, data-nav auto).
- api.js: metodi list/create/get/update/delete/rotateDiscoveryKey.
- ARIA navigationMapBlock: aggiunta la voce (coerenza assistente↔menu).
- help.js: _pageMap + guida contestuale "Connettori Discovery" (multi-connettore,
  come funziona, sicurezza scope ingest:assets).
Smoke: pagina 200, /api/discovery-connectors/list 401 (auth). Cache-buster
common-bi/help/api -> 20260625d.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
DevEnv nis2-agile
2026-06-26 12:03:31 +02:00
co-authored by Claude Opus 4.8
parent 3d0bec1f7f
commit 01b016da50
40 changed files with 367 additions and 94 deletions
+40
View File
@@ -980,6 +980,44 @@ const HelpSystem = (function () {
]
},
// ─── Connettori Discovery ────────────────────────────────────
'connettori-discovery': {
title: 'Guida - Connettori Discovery',
intro: 'I connettori di discovery mappano automaticamente la rete o il cloud dell\'organizzazione e popolano l\'Inventario con gli asset rilevati, la rilevanza NIS2, le dipendenze e i flussi di rete (ID.AM-03), riducendo l\'inserimento manuale.',
sections: [
{
heading: 'Più connettori per azienda',
items: [
'Puoi creare <strong>più connettori</strong> per la stessa organizzazione, uno per ciascuna sorgente (es. "Rete sede Roma", "Rete sede Modena", "AWS prod").',
'Ogni connettore ha un <strong>tipo</strong> (rete, AWS, Azure, GCP, CMDB, agente, custom) e una propria <strong>chiave API</strong>.',
'Stato (attivo/in pausa/errore) e storico delle esecuzioni sono nel dettaglio del connettore.'
]
},
{
heading: 'Come funziona',
items: [
'Crea un connettore con "+ Nuovo connettore": ottieni una <strong>chiave API</strong> mostrata una sola volta (copiala subito).',
'Esegui l\'<strong>agente di discovery</strong> (<code>scripts/discovery-agent.mjs</code>) dentro la rete da mappare con quella chiave: scansiona gli host e invia gli asset a NIS2.',
'NIS2 fa <strong>dedup</strong> per indirizzo, calcola il <strong>punteggio di rilevanza NIS2</strong> e aggiorna Inventario + Mappa Dipendenze + flussi di rete.',
'Ogni esecuzione aggiorna "ultimo run" e il numero di asset scoperti.'
]
},
{
heading: 'Sicurezza',
items: [
'La chiave del connettore ha <strong>solo</strong> lo scope <code>ingest:assets</code>: può aggiungere asset/flussi solo alla tua organizzazione, non leggere altri dati.',
'Se una chiave è compromessa usa <strong>Rigenera chiave</strong>: la vecchia smette di funzionare.',
'La gestione dei connettori è riservata agli <strong>amministratori dell\'organizzazione</strong>.'
]
}
],
references: [
'Art. 24 D.Lgs. 138/2024 - Gestione degli attivi e dei sistemi informativi e di rete',
'NIST CSF ID.AM-01/02 - Inventario hardware/software; ID.AM-03 - Flussi di rete',
'Identificazione e classificazione dei sistemi rilevanti - scoring 0-100 (GV.OC-04)'
]
},
// ─── Reports / Audit ─────────────────────────────────────────
'reports': {
title: 'Guida - Audit & Report',
@@ -1509,6 +1547,8 @@ const HelpSystem = (function () {
'training': 'training',
'assets.html': 'assets',
'assets': 'assets',
'connettori-discovery.html': 'connettori-discovery',
'connettori-discovery': 'connettori-discovery',
'reports.html': 'reports',
'audit.html': 'reports',
'reports': 'reports',