[FEAT] Epic C / C1 — Elenco Misure/Requisiti consultabile (read-only) + FrameworkController
UI data-driven sulle tabelle di config cfg_nis2_* (mig.046): - FrameworkController::catalog (GET /api/framework/catalog): 43 misure / 116 requisiti, procedura+rischio di default per requisito, flag importanti/essenziali, classe org. - public/misure-requisiti.html (Bootstrap Italia/AGID): vista per misura / per area politica, selettore soggetto (auto/importante/essenziale/tutti), righe che si 'spengono' per classe, ricerca, sola lettura (codifica non modificabile). Voce sidebar in sezione Compliance. - api.js frameworkCatalog(); routing index.php; i18n nav.framework IT/EN. - help.js: guida 'misure-requisiti' (struttura, importanti/essenziali, riferimenti art.23/24 D.Lgs.). - KB AI: doc SYSTEM ingestato (uuid 7871c1ea). - Cache-buster ?v=20260621 (35 pagine), version 1.18.0, SW cache nis2-shell-v1.18.0. - docs/simon/: file sorgente autoritativi (provenienza seed, codifica Simon non variata). Smoke prod: /framework/catalog 200 (43/116, 6 misure solo-essenziali, GV.OC-04->Proc.01/Risk.01), pagina 200, USR2 applicato. Additivo, nessuna modifica a dati esistenti. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
d37047987f
commit
92d101b6f4
@@ -289,6 +289,12 @@ class NIS2API {
|
||||
rsComplete(id) { return this.revComplete(id); }
|
||||
rsSync() { return this.revSync(); }
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════
|
||||
// Framework canonico Misure/Requisiti (Epic C / C1) — SOLA LETTURA.
|
||||
// Catalogo cfg_nis2_* (43 misure / 116 requisiti + procedura+rischio default).
|
||||
// ═══════════════════════════════════════════════════════════════════
|
||||
frameworkCatalog() { return this._acn(this.get('/framework/catalog')); }
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════
|
||||
// Stakeholder estesi (A4 Fase 4.5) — riusa suppliers (GV.SC-02).
|
||||
// stakeholderMap = vista di sintesi raggruppata (supplier/customer/partner). _acn.
|
||||
|
||||
@@ -189,6 +189,7 @@ function loadSidebar() {
|
||||
{ name: 'Compliance Journey', href: 'workflow.html', icon: `<svg viewBox="0 0 20 20" fill="currentColor"><path d="M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z"/></svg>` },
|
||||
{ name: 'Gap Analysis', href: 'assessment.html', icon: iconClipboardCheck(), i18nKey: 'nav.gap_analysis' },
|
||||
{ name: 'Gap Analysis ACN', href: 'acn-gap.html', icon: iconClipboardCheck(), i18nKey: 'nav.acn_gap' },
|
||||
{ name: 'Misure e Requisiti', href: 'misure-requisiti.html', icon: `<svg viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M3 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h8a1 1 0 110 2H4a1 1 0 01-1-1z" clip-rule="evenodd"/></svg>`, i18nKey: 'nav.framework' },
|
||||
{ name: 'Modello SGSI (ISO 27001)', href: 'isms.html', icon: `<svg viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M2.166 4.999A11.954 11.954 0 0010 1.944 11.954 11.954 0 0017.834 5c.11.65.166 1.32.166 2.001 0 5.225-3.34 9.67-8 11.317C5.34 16.67 2 12.225 2 7c0-.682.057-1.35.166-2.001zm11.541 3.708a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/></svg>`, i18nKey: 'nav.isms' },
|
||||
]
|
||||
},
|
||||
|
||||
@@ -360,6 +360,43 @@ const HelpSystem = (function () {
|
||||
]
|
||||
},
|
||||
|
||||
// ─── Misure e Requisiti — elenco canonico (Epic C / C1) ───────
|
||||
'misure-requisiti': {
|
||||
title: 'Guida - Misure e Requisiti',
|
||||
intro: 'Questa pagina mostra l\'elenco canonico delle misure di sicurezza di base e dei relativi requisiti previsti dalla Determinazione ACN n. 164179 del 14 aprile 2025. Per ogni requisito sono indicati la procedura di default che lo soddisfa e il rischio di default associato. È un elenco di riferimento in sola lettura: la codifica e l\'ordine non sono modificabili. È uno strumento di supporto, non un parere legale.',
|
||||
sections: [
|
||||
{
|
||||
heading: 'Come è organizzato',
|
||||
items: [
|
||||
'Le <strong>misure</strong> sono 43 in totale; ogni misura è descritta da uno o più <strong>requisiti</strong> (i singoli punti/commi).',
|
||||
'A ogni requisito è abbinata una <strong>procedura di default</strong> (che lo risolve) e un <strong>rischio di default</strong>: queste alimentano, come contenuto iniziale modificabile, i moduli Procedure e Rischi.',
|
||||
'La <strong>valutazione del rischio</strong> parte vuota: la compili tu nel modulo Rischi. È da lì, e dall\'analisi degli stakeholder, che emerge lo stato di conformità dell\'azienda.'
|
||||
]
|
||||
},
|
||||
{
|
||||
heading: 'Importanti ed essenziali',
|
||||
items: [
|
||||
'Alcuni requisiti, e alcune intere misure, riguardano solo i <strong>soggetti essenziali</strong>: per un soggetto <strong>importante</strong> quelle righe si "spengono" (appaiono in grigio).',
|
||||
'Soggetti <strong>importanti</strong>: 37 misure / 92 requisiti. Soggetti <strong>essenziali</strong>: 43 misure / 116 requisiti.',
|
||||
'Con il selettore "Soggetto" scegli quale profilo applicare; con "nascondi non applicabili" mostri solo le righe pertinenti. Le viste "per misura" e "per area politica" mostrano gli stessi dati in due modi.'
|
||||
]
|
||||
},
|
||||
{
|
||||
heading: 'Riferimenti normativi',
|
||||
items: [
|
||||
'Misure di base: <strong>Determinazione ACN n. 164179 del 14 aprile 2025</strong> (Allegato 1 = importanti, Allegato 2 = essenziali).',
|
||||
'Gli obblighi di gestione del rischio fanno capo all\'<strong>art. 24 del D.Lgs. 138/2024</strong>; la governance all\'<strong>art. 23</strong>.',
|
||||
'L\'elenco non è modificabile dall\'utente: rappresenta la codifica ufficiale e va mantenuto fedele alla fonte.'
|
||||
]
|
||||
}
|
||||
],
|
||||
references: [
|
||||
'Determinazione ACN n. 164179 del 14 aprile 2025 - misure di sicurezza di base (Allegati 1-2)',
|
||||
'Obblighi: art. 24 D.Lgs. 138/2024 (gestione del rischio), art. 23 (governance)',
|
||||
'NOTA: l\'elenco è uno strumento di supporto; la classificazione del soggetto e la conformità formale restano valutazione di Direzione/Legale e verifica ACN.'
|
||||
]
|
||||
},
|
||||
|
||||
// ─── Stakeholder estesi (A4 Fase 4.5) ─────────────────────────
|
||||
'stakeholders': {
|
||||
title: 'Guida - Stakeholder',
|
||||
@@ -1247,6 +1284,8 @@ const HelpSystem = (function () {
|
||||
'raci': 'raci',
|
||||
'review-schedule.html': 'review-schedule',
|
||||
'review-schedule': 'review-schedule',
|
||||
'misure-requisiti.html': 'misure-requisiti',
|
||||
'misure-requisiti': 'misure-requisiti',
|
||||
'stakeholders.html': 'stakeholders',
|
||||
'stakeholders': 'stakeholders',
|
||||
'risks.html': 'risks',
|
||||
|
||||
@@ -20,6 +20,7 @@ const I18n = (function () {
|
||||
'nav.dashboard': { it: 'Dashboard', en: 'Dashboard' },
|
||||
'nav.gap_analysis': { it: 'Gap Analysis', en: 'Gap Analysis' },
|
||||
'nav.acn_gap': { it: 'Gap Analysis ACN', en: 'ACN Gap Analysis' },
|
||||
'nav.framework': { it: 'Misure e Requisiti', en: 'Measures & Requirements' },
|
||||
// Gap Analysis ACN (Determinazione 164179/2025)
|
||||
'acn.title': { it: 'Gap Analysis ACN (misure di base)', en: 'ACN Gap Analysis (baseline measures)' },
|
||||
'acn.ai': { it: 'Analisi AI dei gap', en: 'AI gap analysis' },
|
||||
|
||||
Reference in New Issue
Block a user