Règle n ° 1 de la sécurité: si quelqu'un a accès à l'information, il a accès à cette information
Cette tautologie est agaçante, mais c'est vrai. Si vous donnez accès à une personne, elle aura accès aux données. Pour les utilisateurs, cela signifie généralement un contrôle d'accès, mais pour les développeurs ... eh bien ... ce sont eux qui doivent écrire le contrôle d'accès.
S'il s'agit d'un problème majeur pour vous (et que cela semble être le cas), envisagez de renforcer la sécurité de votre logiciel. Un modèle courant consiste à concevoir des logiciels sécurisés en couches. Au niveau le plus bas, une équipe de développement de confiance conçoit un logiciel qui gère le contrôle d'accès le plus nu possible. Ce logiciel est validé et vérifié par autant de personnes que possible. Toute personne qui conçoit ce code a accès à tout, la confiance est donc essentielle.
Après cela, les développeurs peuvent créer un contrôle d'accès plus flexible au-dessus de cette couche principale. Ce code doit toujours être V & Vd, mais il n'est pas aussi rigoureux, car vous pouvez toujours compter sur la couche principale pour couvrir l'essentiel.
Le motif s'étend vers l'extérieur.
La partie difficile, en effet l’ art de concevoir ces systèmes, consiste à construire chaque couche de manière à ce que les développeurs puissent continuer à développer et à déboguer tout en fournissant à votre entreprise la sécurité que vous attendez. En particulier, vous devrez accepter le fait que le débogage nécessite plus de privilèges que vous ne le pensez normalement, et tenter de verrouiller cela entraînerait la colère de certains développeurs.
En tant que solution secondaire, envisagez de créer des bases de données "sûres" à des fins de test, afin que les développeurs puissent extraire tous les mécanismes de sécurité et procéder à un débogage sérieux.
En fin de compte, vous et vos développeurs devez comprendre un principe fondamental de la sécurité: toute sécurité est un équilibre entre sécurité et convivialité. Vous devez trouver votre propre équilibre en tant qu’entreprise. Le système ne sera pas parfaitement sécurisé et ne sera pas parfaitement utilisable. Cet équilibre évoluera probablement à mesure que votre entreprise grandira et / ou que les exigences envers les développeurs changeront. Si vous êtes ouvert à cette réalité, vous pouvez y remédier.