avanzati.it/Realizzazioni/DMS S3
§ Realizzazione · DMS S3

DMS web su storage S3-compliant

Un document management system pensato per sostituire la cartella Windows condivisa che nessuno sa più cosa contiene. S3 sotto, policy granulari sopra, audit log per ogni cosa, 2FA obbligatoria. Per documenti sensibili, contratti, cartelle cliniche, dossier legali.

TL;DR

File management via web su storage S3-compatibile (MinIO, Ceph, o S3 AWS/Cloudflare R2). Policy granulari per-utente-per-cartella (ReBAC), versioning automatico, audit log immutabile, 2FA obbligatoria, crittografia at-rest + in-transit. API REST per integrazione con applicazioni custom. Ricerca full-text opzionale su contenuto documenti indicizzati. GDPR-compliant per costruzione.

01Perché non una semplice cartella condivisa

La cartella di rete SMB funziona finché è piccola, finché chi la gestisce è ancora in azienda, finché nessuno chiede "chi ha visto questo documento il mese scorso?". Nella pratica, le cartelle condivise accumulano per anni documenti duplicati, versioni contraddittorie, permessi dimenticati su utenti che non esistono più.

Il momento in cui serve un DMS vero è quando il contenuto smette di essere solo "file" e diventa materiale sensibile: contratti firmati, cartelle cliniche, dossier legali, documentazione soggetta a retention obbligatoria. Lì servono cinque cose che SMB non ti dà nativamente: tracciabilità di chi ha toccato cosa, versioning automatico sulle modifiche, compliance dimostrabile in caso di ispezione, ricerca sul contenuto (non solo sul nome file), accesso remoto controllato senza VPN aperta a tutti.

Aggiungi l'audit trail completo — chi ha scaricato cosa da quale IP, in che momento — e hai passato la soglia oltre la quale la cartella di rete non è più un'opzione. È questo il terreno per cui abbiamo costruito il DMS.

02Architettura

L'impianto è volutamente classico, nessuna magia. Tre strati ben separati:

La ricerca full-text sul contenuto dei documenti è un modulo opzionale: Elasticsearch (o OpenSearch) che indicizza in background il testo estratto da PDF, Office, immagini scansionate via OCR. Si attiva solo dove serve davvero — non è gratis in risorse e complessità operativa.

03Policy granulari

I permessi sono il punto in cui la maggior parte dei DMS "semplici" crollano. Il nostro modello è ReBAC (relationship-based access control): non esiste un ruolo globale che vale per tutto, esistono relazioni tra utenti e risorse. Una cartella può essere pubblica nel tenant, privata al proprietario, condivisa con un elenco specifico di utenti, ruoli o gruppi.

Le cose che un amministratore può configurare per ogni cartella o singolo documento:

04Versioning e history

Ogni modifica a un documento genera automaticamente una nuova versione, senza che l'utente debba pensarci. La vecchia versione resta accessibile, con possibilità di restore puntuale a qualsiasi punto nel tempo. Per file di testo (markdown, xml, json, sorgenti) viene mostrato anche il diff tra versioni.

La politica di retention è configurabile per cartella: "tieni tutte le versioni per sempre" per documenti legali, "tieni le ultime 10 versioni e 12 mesi" per lavoro in corso. Le versioni più vecchie possono essere spostate su storage S3 a classe più economica (cold storage) per ridurre i costi senza perdere l'obbligo di conservazione.

05Audit log immutabile

Ogni evento che tocca un documento viene scritto su un log dedicato: visualizzazione, download, upload, rinomina, cancellazione, modifica permessi. Per ogni voce viene registrato chi (utente autenticato), cosa (documento e azione), quando (timestamp UTC con precisione al secondo), da dove (IP, user agent, sessione).

Il log è scritto su storage append-only (WORM — Write Once Read Many) sfruttando le object lock policy di S3: una volta scritto, l'evento non è modificabile nemmeno da un amministratore del DMS. È questa la differenza tra "log diagnostico" e "prova giudizialmente opponibile". Opzionalmente, ogni blocco di log può essere firmato digitalmente o ancorato su timestamping esterno per rafforzare la catena di custodia.

06Integrazioni tipiche

Un DMS isolato ha vita breve. Le integrazioni che montiamo di default o su richiesta:

07Deploy e adozione

Tre modelli di deploy, scelti in base a dove devono stare i dati: cloud PSA (su nostra infrastruttura virtualizzata Proxmox presso i nostri data center), on-prem cliente (installato sui server del cliente, manutenzione nostra via accesso sicuro), ibrido (applicazione su cloud PSA, storage S3 del cliente su propria infrastruttura — utile quando i dati non possono uscire dal perimetro).

Il setup tipico per una nuova installazione è nell'ordine di una settimana: provisioning infrastruttura, configurazione SSO, definizione dei primi ruoli e gruppi, import della struttura di cartelle esistente. La migrazione dai cartelloni SMB/NAS avviene con script dedicati che preservano la gerarchia, i timestamp originali e — dove ricostruibili — i permessi NTFS/POSIX mappati sulle policy ReBAC del DMS. L'adozione richiede in media 30-60 giorni di affiancamento agli utenti interni, durante i quali teniamo attive entrambe le modalità in parallelo.

Dimensione Cartella condivisa SMB DMS su S3
GovernancePermessi NTFS sparsi, deriva nel tempoReBAC centralizzato, permission inspector
AuditEvent log parziale, ruotato, modificabileLog immutabile WORM, ogni evento tracciato
RicercaSolo nome file, contenuto noFull-text su contenuto (PDF, Office, OCR)
ComplianceDifficile dimostrare retention e tracciabilitàGDPR-compliant per costruzione, retention per-policy
Accesso remotoVPN aperta, tutto o nienteHTTPS + 2FA, scope per utente e per cartella
VersioningShadow copy host-side, recovery manualeVersioning automatico, restore granulare, diff

Quando la cartella condivisa non basta più.

Parliamone →