Regola n. 1 della sicurezza: se qualcuno ha accesso alle informazioni, ha accesso a tali informazioni
Questa tautologia è fastidiosa, ma è vera. Se si dà accesso a un individuo, hanno accesso ai dati. Per gli utenti, questo di solito significa controllo dell'accesso, ma per gli sviluppatori ... beh ... sono quelli che devono scrivere il controllo degli accessi.
Se questo è un grosso problema per te (e sembra così), considera la possibilità di costruire sicurezza nel tuo software. Un modello comune è progettare software sicuro a strati. Al livello più basso, un team di sviluppo fidato progetta un software che gestisce il più completo controllo degli accessi. Quel software è validato e verificato da quante più persone possibile. Chiunque stia progettando quel codice ha accesso a tutto, quindi la fiducia è essenziale.
Successivamente, gli sviluppatori possono creare un controllo di accesso più flessibile su quel livello principale. Questo codice deve ancora essere V & Vd, ma non è altrettanto rigoroso perché puoi sempre fare affidamento sul livello principale per coprire l'essenziale.
Il modello si estende verso l'esterno.
La parte difficile, anzi la arte del design di questi sistemi, è come costruire ogni livello in modo che gli sviluppatori possano continuare a sviluppare ed eseguire il debug pur continuando a fornire alla tua azienda la sicurezza che ti aspetti. In particolare, dovrai accettare il fatto che richieda il debug di più privilegi di quanto tu pensi che dovrebbe, e il tentativo di bloccarli causerà alcuni sviluppatori molto arrabbiati.
Come soluzione collaterale, considera la possibilità di creare database "sicuri" a scopo di test, in cui gli sviluppatori possono rimuovere tutti i meccanismi di sicurezza e fare il debug serio.
Alla fine, sia tu che i tuoi sviluppatori dovete capire un principio chiave di sicurezza: Tutta la sicurezza è un equilibrio tra sicurezza e usabilità. dovete colpire da soli equilibrio come una società. Il sistema non sarà perfettamente sicuro e non sarà perfettamente utilizzabile. Questo equilibrio probabilmente si sposterà anche quando la tua azienda cresce e / o le richieste di cambiamento degli sviluppatori. Se sei aperto a questa realtà, puoi affrontarlo.