PROdb アプリケーション アーキテクチャー
データアクセスレイヤーによるマルチテナント分離
このページの内容 2
モダン且つセキュリティ重視のアーキテクチャー
dbFLEXアプリケーション アーキテクチャーは、マルチテナント環境における厳密なデータ分離を実現する設計です。
- dbFLEXはSQLデータベースの論理的ビューを提供します。
- 一つの物理サーバーとSQLデータベースに複数社のデータがありますが、データアクセスレイヤー(DAL)という技術を使って、各論理「データベースアプリケーション」で徹底的に分離しています。DALのみが直接SQLテーブルにアクセスできます。
データアクセスレイヤーの仕組み
ユーザーがView(一覧や図など)を閲覧する場合:
- ViewがTableの下に作られており、表示するColumnと検索条件で構成されています。
- 閲覧依頼が来たら、Viewを表示するページがDALに依頼を渡します。
- DALがデータベースのメタデータを確認し、このViewが入っているTableがこのデータベースのメンバーかどうか、閲覧するユーザーがTableとViewの権限があるかどうか、各Columnにも閲覧権限が十分かどうかを確認します。
- Columnレベルで権限がなければ、アクセスが完全拒否されるか、Columnが非表示となります。
- 全確認がOKな場合、DALが閲覧可能なデータのSQL QUERYを作り、データを取得して依頼ユーザーに返します。
PROdbの全体的な機能については、PROdb クラウド データベースページをご覧ください。