Saya setuju bahwa beban pembenaran harus ada pada orang-orang yang membutuhkan akses. Biasanya di lingkungan di mana saya berkonsultasi, saya memiliki akses ke sistem produksi di mana itu adalah lingkungan yang kecil dan saya adalah orang yang mendukung. Saya memiliki akses ke cadangan, dll. Di mana saya mendukung untuk dukungan, dan akses tidak langsung (melalui pengembang dukungan khusus) ke data produksi.
Yang penting adalah: Anda memerlukan akses ini ketika Anda berada di hook untuk menjaga semuanya berjalan lancar dan Anda harus menjawab pertanyaan orang keuangan tentang sesuatu yang tidak berfungsi. Anda tidak dapat selalu bekerja dari data lama bahkan dalam kasus itu. Di sisi lain, semakin banyak akses semakin buruk. Biasanya sebagai konsultan saya cenderung menghindari mendapatkan akses semacam ini kecuali jika diperlukan. Karena saya bekerja pada database keuangan, hal terakhir yang saya inginkan adalah dituduh memasukkan faktur saya sendiri :-D.
Di sisi lain, jika Anda tidak membutuhkan akses Anda tidak harus memilikinya. Saya tidak benar-benar membeli argumen data sensitif karena pengembang mungkin siap untuk memastikan ini ditangani dengan benar (dan sangat sulit untuk memverifikasi tanpa melihat apa yang sebenarnya disimpan ketika laporan bug masuk). Jika Anda tidak dapat mempercayai pengembang untuk melihat data yang disimpan oleh aplikasi pengembang, Anda tidak boleh menyewa pengembang untuk menulis aplikasi. Ada terlalu banyak cara pengembang bisa mengaburkan data dan mengirim email, dan Anda tidak pernah bisa yakin. Kontrol MAC membantu di sini tetapi masih cukup rumit untuk diterapkan.
Masalah besar dari pihak saya berkaitan dengan akses tulis. Jika pengembang tidak memiliki akses, maka fortiori, pengembang tidak memiliki akses tulis. Jika Anda ingin memverifikasi integritas buku, Anda ingin tetap akses tulis ke sesedikit mungkin orang. Jalur audit jauh lebih mudah untuk divalidasi jika pengembang tidak memiliki akses. Jika pengembang memiliki akses baca, maka Anda selalu memiliki beberapa pertanyaan, apakah telah ada beberapa privilege escallation attach yang dapat memberikan akses tulis (mungkin injeksi SQL prosedur yang tersimpan?). Saya sering memiliki akses penuh ke info penagihan klien ketika saya memiliki akses ke lingkungan pementasan. Jika ada lingkungan pementasan yang berfungsi, saya biasanya akan secara aktif meminta untuk tidak memiliki akses ke produksi kecuali jika diperlukan.
Jadi ini tidak sempurna, tentu saja. Pengembang masih dapat membangun pintu belakang ke dalam aplikasi yang mungkin tidak mudah terdeteksi, tetapi pendekatan ini adalah pendekatan yang masuk akal, mengingat fakta bahwa data cadangan tersedia dari sehari sebelum bagi saya tampaknya ini adalah masalah yang mereka miliki.
Semoga ini membantu.
Sunting: Hanya menambahkan bahwa pada lingkungan yang lebih besar tempat saya bekerja, saya telah memiliki akses ke data cadangan lengkap yang sering berkisar dari beberapa hari hingga beberapa bulan untuk sistem keuangan. Ini selalu cukup baik untuk pekerjaan saya dan satu-satunya saat itu telah rusak adalah ketika orang-orang keuangan membutuhkan kemampuan untuk menguji dengan data yang lebih baru sehingga mereka bisa cocok dengan produksi.