Aturan # 1 keamanan: Jika seseorang memiliki akses ke informasi, mereka memiliki akses ke informasi itu
Tautologi itu menjengkelkan, tetapi itu benar. Jika Anda memberikan akses ke seseorang, mereka memiliki akses ke data. Untuk pengguna, ini biasanya berarti kontrol akses, tetapi untuk pengembang ... yah ... merekalah yang harus menulis kontrol akses.
Jika ini merupakan masalah besar bagi Anda (dan sepertinya memang demikian), pertimbangkan untuk membangun keamanan ke dalam perangkat lunak Anda. Pola umum adalah merancang perangkat lunak yang aman berlapis-lapis. Pada lapisan terendah, tim pengembangan tepercaya merancang perangkat lunak yang mengelola kontrol akses paling telanjang. Perangkat lunak itu divalidasi dan diverifikasi oleh sebanyak mungkin orang. Siapa pun yang mendesain kode itu memiliki akses ke semuanya, jadi kepercayaan sangat penting.
Setelah itu, pengembang dapat membangun kontrol akses yang lebih fleksibel di atas lapisan inti itu. Kode ini masih harus V & Vd, tetapi tidak seketat itu karena Anda selalu dapat mengandalkan lapisan inti untuk menutupi hal-hal yang penting.
Polanya memanjang ke luar.
Bagian yang sulit, memang seni merancang sistem ini, adalah bagaimana membangun setiap lapisan sehingga pengembang dapat terus mengembangkan dan men-debug sambil tetap memberi perusahaan Anda keamanan yang Anda harapkan. Secara khusus, Anda harus menerima bahwa debugging menuntut lebih banyak hak istimewa daripada yang Anda pikirkan, dan upaya untuk mengunci itu akan menghasilkan beberapa pengembang yang sangat marah.
Sebagai solusi sampingan, pertimbangkan untuk membuat basis data "aman" untuk tujuan pengujian di mana pengembang dapat mencabut semua mekanisme keamanan dan melakukan debugging yang serius.
Pada akhirnya, Anda dan pengembang Anda perlu memahami prinsip utama keamanan: Semua keamanan adalah keseimbangan antara keamanan dan kegunaan. Anda harus menemukan saldo Anda sendiri sebagai sebuah perusahaan. Sistem tidak akan sepenuhnya aman, dan tidak akan dapat digunakan dengan sempurna. Keseimbangan itu mungkin bahkan akan bergerak ketika perusahaan Anda tumbuh dan / atau menuntut pengembang berubah. Jika Anda terbuka pada kenyataan ini, Anda bisa mengatasinya.