セキュリティのルール#1:誰かが情報にアクセスできる場合、その情報にアクセスできます
そのトートロジーは迷惑ですが、それは本当です。個人にアクセス権を付与すると、データにアクセスできます。ユーザーにとっては、これは通常、アクセス制御を意味しますが、開発者にとっては...まあ...彼らはアクセス制御を書かなければなりません。
これがあなたにとって大きな問題である(そしてそのように聞こえる)場合、ソフトウェアにセキュリティを組み込むことを検討してください。一般的なパターンは、安全なソフトウェアをレイヤーで設計することです。最下層では、信頼できる開発チームが最も裸のアクセス制御を管理するソフトウェアを設計します。そのソフトウェアは、できるだけ多くの人々によって検証および検証されます。そのコードを設計する誰もがすべてにアクセスできるため、信頼が不可欠です。
その後、開発者はそのコア層の上に、より柔軟なアクセス制御を構築できます。このコードはまだV&Vdである必要がありますが、本質をカバーするためにコアレイヤーに常に依存できるため、それほど厳密ではありません。
パターンは外側に広がります。
難しいのは、確かに芸術これらのシステムを設計するのは、開発者はまだあなたが期待するセキュリティであなたの会社を提供しながら、開発とデバッグを続けることができるように、それぞれの層を構築する方法です。特に、デバッグには必要以上の特権が必要であり、ロックダウンしようとすると、非常に怒っている開発者がいることに同意する必要があります。
副次的な解決策として、開発者がすべての安全メカニズムをリッピングして本格的なデバッグを行えるテスト目的で「安全な」データベースを作成することを検討してください。
最終的に、あなたとあなたの開発者の両方がセキュリティの重要な教義を理解する必要があります。すべてのセキュリティはセキュリティとユーザビリティのバランスです。会社として自分のバランスをとる必要 があります。システムは完全に安全ではなく、完全には使用できません。会社の成長や開発者への要求の変化に応じて、おそらくそのバランスは動くでしょう。あなたがこの現実に開かれているなら、あなたはそれに取り組むことができます。