Я погоджуюся, що тягар виправдання повинен лежати на тих, хто потребує доступу. Як правило, в середовищі, де я консультувався, я мав доступ до виробничих систем, де це було невелике середовище, і я був людиною, що надає підтримку. У мене був доступ до резервних копій і т.д., де я був підтримкою підтримки, і непрямий доступ (через спеціалізованого розробника підтримки) до виробничих даних.
Найголовніше: вам потрібен такий доступ, коли ви знаходитесь на гачку, щоб все нормально працювало, і ви повинні відповісти на запитання хлопця-фінансиста про те, що щось не працює. У такому випадку ви не завжди зможете працювати з даними навіть у добу. З іншого боку, чим більше доступу, тим гірше. Як правило, як консультант я схильний уникати отримання такого доступу, якщо це не потрібно. Оскільки я працюю над базами фінансових даних, останнє, що я хочу, - це звинувачення у введенні власних рахунків :-D.
З іншого боку, якщо вам не потрібен доступ, у вас його не повинно бути. Я дійсно не купую аргумент конфіденційних даних, оскільки розробник, ймовірно, на гачку, щоб переконатися, що це правильно обробляється (і це важко перевірити, не дивлячись, що насправді було збережено, коли надходить звіт про помилку). Якщо ви не можете довіряти розробнику переглядати дані, які зберігає додаток розробника, ви не повинні наймати розробника, щоб написати додаток. Занадто багато способів розробник може приховати дані та надсилати їх електронною поштою, і ви ніколи не можете бути впевнені. Тут допомагають контролі MAC, але вони все ще досить складні.
Велике питання з моєї сторони пов'язане з доступом до запису. Якщо розробник не має доступу тоді, a fortiori, розробник не має доступу для запису. Якщо ви хочете перевірити цілісність книг, ви хочете забезпечити доступ до запису якомога менше людей. Слід перевірити набагато простіше, якщо розробники не мають доступу. Якщо розробник прочитав доступ, то у вас завжди виникає питання щодо того, чи було якесь приєднання ескалації привілеїв, яке може надати доступ до запису (можливо, вбудована в процедуру SQL ін'єкція?). Я часто мав повний доступ до інформації про виставлення рахунків клієнтові, коли мав доступ до інтерактивних середовищ. Якщо є таке інсценізаційне середовище, яке працює, я зазвичай активно прошу не мати доступу до виробництва, якщо це не потрібно.
Так що, звичайно, це не ідеально. Розробник все ще може вбудовувати додаткові двері в програму, яка може бути неважко виявити, але такий підхід є розумним підходом, враховуючи той факт, що дані резервного копіювання є доступними за день до того, мені здається, це викликає занепокоєння.
Сподіваюся, це допомагає.
Редагувати: Просто додавши, що у великих середовищах, в яких я працював, я мав доступ до повних резервних даних, які часто становлять від декількох днів до декількох місяців для фінансової системи. Це завжди було досить добре для моєї роботи, і лише коли це відбулося, коли хлопці з фінансів потребували можливості перевірити новіші дані, щоб вони могли відповідати виробництву.