重要なアプローチは 2 つありますが、どちらもシステムの設計に大きな影響を与えるため、大幅な書き換えなしに一方から他方へ移行することは容易ではありません。選択する前に、会社のセキュリティ ガバナンス ポリシーが何であるかを理解する必要があります。
1) すべてのユーザーは、アプリケーションによって使用されているサービスに対して、アプリケーションを介して運ばれる資格情報を持っています。あなたの場合、Oracleデータベースはそれらのユーザー資格情報を使用してデータベースに接続します。欠点は、すべてのユーザーが各セキュア サービスの資格情報を必要とすることです。これは合理的な安全なアプローチですが、ユーザーの資格情報を提供および維持するためにかなりの追加作業が必要になります。データベース管理者は、ユーザー資格情報を積極的に管理する必要がありますが、これは会社のセキュリティ ガバナンス ポリシーに反する可能性があります。
2) アプリケーション データベースの資格情報は、Secure LDAP などの安全なディレクトリ サービスに保存されます。アプリケーションは、ユーザーの資格情報を使用してディレクトリ サービスにアクセスします。ディレクトリ サービスは、アクセスされているサービスに適切な資格情報を返します。
どちらの場合も、適切な操作のみを実行するようにデータベース資格情報を制限する必要があります。認証情報は、ビジネス プロセスの要件を反映する必要があります。定義されたビュー/テーブルからの選択、他のビューへの挿入は許可されますが、テーブルの作成、更新、削除は許可されません。2 番目のアプローチでは、注文処理、会計、人事などの主要なビジネス プロセスごとに個別の資格情報を使用します。
ただし、セキュリティはタマネギの層のようなものであることを覚えておいてください。誰かがアプリケーションにアクセスするために層を取り除いて、DB 接続プールの構成ファイルにアクセスできるようにした場合です。アプリケーションをトロイの木馬で攻撃して、ユーザーの資格情報を取得する可能性があります。ここで、優れたセキュリティ ガバナンス ポリシーの出番です。
セキュリティ ガバナンスは、上級管理職の関与が必要な複雑な問題です。ライブ プラットフォームにこのレベルのセキュリティが必要な場合、コストがかかるからです。開発の責任を、展開、運用、およびユーザー権限管理から分離する必要があります。また、変更を表示するための完全なアクセス権はあるが構成を変更する権限がないセキュリティ監査者が必要になる場合もあります。それは単純ではなく、高給の専門性です。