PROdb Application Architecture
Multi-tenant security through data access layer isolation
On this page 2
A Modern Architecture Emphasizing Security
The dbFLEX application architecture is designed for strict data isolation in a multi-tenant environment.
- dbFLEX provides a logical view of the SQL database.
- While multiple customers may share a global SQL database (as is likely the case for most cloud SaaS and PaaS providers), the data is strictly isolated using a component called the Data Access Layer (DAL). The DAL is the only component that has direct access to the database.
How the Data Access Layer Works
When a user accesses a View (a data sheet, rolled-up summary, or chart):
- The View is created under a Table, and is comprised of columns and filters.
- The app page that will display the View passes the access request to the DAL.
- The DAL examines the data definition (metadata), checking whether the table belongs to the database, whether the current user has enough access rights to view records from the table, and further, to individual columns.
- If any column is not accessible, the request is either rejected completely (if the view's filter column is inaccessible) or the column is hidden from view (if it's in the list of columns to display).
- Once all verifications pass, the DAL builds and executes an SQL query to retrieve the data, and the results are passed back to the requestor.
For an overview of PROdb's capabilities, see the PROdb Cloud Database page.