Regra nº 1 de segurança: se alguém tiver acesso a informações, ele terá acesso a essas informações
Essa tautologia é irritante, mas é verdade. Se você der acesso a um indivíduo, ele terá acesso aos dados. Para os usuários, isso geralmente significa controle de acesso, mas para desenvolvedores ... bem ... são eles que precisam escrever o controle de acesso.
Se esse é um problema importante para você (e parece que é), considere incorporar segurança ao seu software. Um padrão comum é projetar software seguro em camadas. Na camada mais baixa, uma equipe de desenvolvimento confiável projeta software que gerencia o controle de acesso mais nu. Esse software é validado e verificado pelo maior número de pessoas possível. Qualquer pessoa que crie esse código terá acesso a tudo, portanto, a confiança é essencial.
Depois disso, os desenvolvedores podem criar um controle de acesso mais flexível sobre a camada principal. Esse código ainda precisa ser de pesquisa e desenvolvimento, mas não é tão rigoroso, porque você sempre pode confiar na camada principal para cobrir o essencial.
O padrão se estende para o exterior.
A parte difícil, na verdade a arte de projetar esses sistemas, é como criar cada camada para que os desenvolvedores possam continuar desenvolvendo e depurando enquanto ainda fornecem à sua empresa a segurança que você espera. Em particular, você precisará aceitar que a depuração exige mais privilégios do que você pensa que deveria, e tentar bloquear isso resultará em alguns desenvolvedores muito irritados.
Como uma solução secundária, considere criar bancos de dados "seguros" para fins de teste, nos quais os desenvolvedores podem eliminar todos os mecanismos de segurança e fazer uma depuração séria.
No final, você e seus desenvolvedores precisam entender um princípio fundamental de segurança: Toda segurança é um equilíbrio entre segurança e usabilidade. Você deve atingir seu próprio equilíbrio como empresa. O sistema não será perfeitamente seguro e não será perfeitamente utilizável. Esse equilíbrio provavelmente mudará à medida que sua empresa cresce e / ou as demandas dos desenvolvedores mudam. Se você está aberto a essa realidade, pode resolvê-la.