Правило №1 безпеки: Якщо хтось має доступ до інформації, він має доступ до цієї інформації
Ця тавтологія дратує, але це правда. Якщо ви надаєте доступ особі, вона має доступ до даних. Для користувачів це зазвичай означає контроль доступу, але для розробників ... ну ... вони є тими, хто повинен записати контроль доступу.
Якщо це головна проблема для вас (і здається, що це є), подумайте про те, щоб забезпечити безпеку свого програмного забезпечення. Поширений зразок - це розробка захищеного програмного забезпечення в шарах. На найнижчому шарі довірена команда розробників розробляє програмне забезпечення, яке управляє самим голим з контролю доступу. Це програмне забезпечення перевірено та перевірено якомога більше людей. Усі, хто розробляє цей код, мають доступ до всього, тому довіра є важливою.
Після цього розробники можуть створити більш гнучкий контроль доступу поверх цього основного шару. Цей код все ще повинен бути V & Vd, але він не настільки суворий, тому що ви завжди можете покластися на основний шар, щоб покрити необхідне.
Візерунок поширюється назовні.
Важкою частиною, справді мистецтвом проектування цих систем, є те, як створити кожен шар, щоб розробники могли продовжувати розробку та налагодження, одночасно забезпечуючи вашу компанію безпекою, яку ви очікуєте. Зокрема, вам потрібно буде визнати, що налагодження вимагає більше привілеїв, ніж ви вважаєте, що це повинно, і спроба заблокувати це призведе до дуже гнівних розробників.
В якості побічного рішення розгляньте створення "безпечних" баз даних для тестових цілей, де розробники можуть вирвати всі механізми безпеки та зробити серйозну налагодження.
Зрештою, і вам, і вашим розробникам потрібно зрозуміти ключовий принцип безпеки: вся безпека - це баланс між безпекою та зручністю використання. Ви повинні досягти власного балансу як компанія. Система не буде ідеально захищеною, і не буде ідеально корисною. Цей баланс, ймовірно, навіть зміниться у міру зростання вашої компанії та / або зміни вимог до розробників. Якщо ви відкриті для цієї реальності, можете вирішити її.