The most basic multi-tenant environment is when each table, view and stored procedure has one or more columns that indicate which users have access to each row.
To set column based tenancy in Exago:
Note
For these parameters set Hidden to False.
While disabling tenancy on any tenant columns of a data object is a noted security risk, it proves useful for administrators to be able to briefly disable tenancy for testing purposes. Disabling tenancy simplifies testing by allowing administrators to troubleshoot the dataset without having to remove and re-add tenant columns on each data object.
Important
Tenancy should be disabled for testing purposes only. Do not allow non-administrative users to access data objects with disabled tenancy columns. Doing so can potentially expose sensitive data.
Following changes to tenant parameter values in v2019.1+, any Tenant Parameters values set to an empty value will be recognized as an empty string rather than a null value. To continue disabling tenancy in these versions, the parameter value must be set to {disabletenancy}
.
With Roles, security filters can be added to data objects so that users can only view specific rows in the data object.
In the example below, this role will only be able to see data on reports where the EmployeeID field is equal to 4.
To set row-based tenancy in Exago via the Admin Console, visit the Filters Access section of the Roles article.
Row based filters can also be added with the REST Web Service API and .NET API.
To delete a row based filter, click the Delete icon at the end of the associated row.
Some multi-tenant environments create multiple tables/views/stored procedures with the same name and columns but different database schema. Information is then stored in the appropriate table based on database schema.
To set schema based tenancy in Exago:
Another way to assure that each user can only access their data is to provide a separate database for each user. In this situation each database should have the same tables, views and stored procedures.
To support database based tenancy in Exago:
Multi-Tenant security can also be assured by using Custom SQL for all data objects. Exago can pass parameter values into each SQL statement to filter data based on user.
To set Custom SQL based tenancy in Exago:
Note
Parameters should be surrounded by single quotes.