Architettura multi-tenant con isolamento rigoroso dei dati aziendali
Basta un filtro di query dimenticato per esporre i dati di un tenant
In un deployment condiviso, la separazione tra tenant è forte solo quanto la query più debole. I filtri a livello di riga dipendono dal fatto che ogni sviluppatore si ricordi di applicare lo scoping a ogni lettura e scrittura: e il giorno in cui qualcuno se ne dimentica, i registri dei trattamenti, gli accordi con i fornitori o le valutazioni dei rischi di un'azienda possono comparire nella vista di un'altra.
Questa modalità di guasto è difficile da escludere e ancora più difficile da dimostrare risolta. Quando un team di sicurezza o un revisore chiede «come garantite che il Cliente A non possa vedere i dati del Cliente B?», una risposta basata su un filtro invita a una revisione del codice riga per riga che non si può vincere con la sola fiducia.
Gestire ogni entità come una configurazione e un archivio dati separati, senza un isolamento nativo, non fa che moltiplicare le superfici in cui un confine può cedere silenziosamente.
Cosa potete fare con l'isolamento multi-tenant
- Isolate ogni azienda a livello di archivio dati: ogni collezione viene prefissata automaticamente con l'identificativo del tenant.
- Applicate lo scoping di ogni query al tenant attivo: il contesto aziendale si risolve per ogni richiesta, senza alcun filtro manuale da aggiungere.
- Ereditate l'isolamento in tutti gli oltre 100 modelli di dominio: la separazione deriva dal modello di base, non da codice specifico per funzionalità.
- Instradate l'accesso tra aziende attraverso un unico percorso autorizzato: solo uno scope esplicito di super-admin può leggere fra tenant diversi.
- Renderizzate e instradate per azienda: nome visualizzato, identificativo e metadati guidano l'interfaccia e la navigazione.
Cosa apporta al vostro programma
- Dimostrate ai revisori che la separazione è strutturale, non procedurale: i confini sono applicati dallo scoping delle collezioni, così difendete un'architettura anziché una promessa basata su una revisione del codice.
- Eliminate un'intera categoria di fughe di dati tra tenant: una query non può raggiungere l'archivio di un'altra azienda senza uno scope esplicito, quindi l'incidente del «qualcuno ha dimenticato il filtro» non ha modo di verificarsi.
- Integrate una nuova entità o un nuovo cliente senza ricostruire l'isolamento: ciascuno ottiene il proprio archivio dati con scoping, all'interno dello stesso modello governato.
- Date ai team di sicurezza un unico controllo da verificare: un unico meccanismo di scoping sostituisce la logica di tenant per ogni query che dovreste altrimenti verificare ovunque.
Pensato per la compliance
Questo associa la funzionalità all'intento dei controlli di ISO 27001 e SOC 2; Priverion supporta le vostre evidenze in questo ambito e non attesta la certificazione per vostro conto.
| Cosa fa DPMS | Si collega a | Come |
|---|---|---|
| Separa i dati dei tenant a livello di archivio | ISO 27001 — segregazione degli ambienti | Prefissazione delle collezioni per azienda applicata a ogni modello |
| Confina l'accesso al tenant attivo per impostazione predefinita | SOC 2 — controlli di accesso logico | Il contesto aziendale per richiesta applica lo scoping a tutte le letture e scritture |
| Limita l'accesso tra aziende a un unico percorso | SOC 2 — accesso a privilegio minimo | Le query tra tenant richiedono uno scope esplicito di super-admin |
Perché Priverion
A differenza degli strumenti GRC generici che applicano la separazione tra tenant su uno schema condiviso tramite filtri a livello di riga, DPMS rende l'isolamento strutturale: un unico CompanyHandler prefissa ogni collezione con l'identificativo dell'azienda e tutti gli oltre 100 modelli di dominio ereditano quello scoping da un'unica classe di base. Non c'è alcuna logica di tenant per query da dimenticare. I dati di registro dei trattamenti, DPIA, rischio e fornitori restano ciascuno entro il confine della propria azienda attraverso lo stesso meccanismo governato: l'isolamento fa parte della piattaforma, non è applicato per ogni singola funzionalità.


