The Database Security section
This topic describes the Database Security section of the Data model, its specific properties and the information it provides.
In this section, you can create or manage Data model security profiles and check the Security Report on the desired Data model.
Security Profiles
A Data model security profile is a set of permissions and authorizations that allows or denies a Board user access to:
- Data model design features. The ability to change the Data model design (i.e. add or modify Entities, Cubes, Relationships, Data readers etc.)
- Data. The ability to view or modify data in Cubes. In this case, you can restrict access to all or part of said data
To access the security profiles, access the designer space of the desired Data model and click on the Database security tile. You will be taken to the Database security page, which displays a table that contains all existing security profiles in the Data model. The table is sortable and searchable using the interactive header fields.
The table contains the following information for each security profile:
- Database profile. This column displays the name of each security profile. This is the name that you will use to associate the security profile with a user Role in the Roles section, in the System Administration area of Board. Once you have associated a security profile with a Role, you can associate that Role with a Board user in the User section of the Subscription Hub: only then will the security profile be applied to that user, along with all permissions and authorizations defined in the Role associated with it
- Select. This column indicates the presence of security selections or a Custom selection script. A check mark is displayed in the case of a security profile with a security selection in place, otherwise nothing is displayed
- Access Mode. This column displays the access mode of each security profile. The following access modes can be associated with a security profile:
- Database Administrator. Users associated with security profiles with this type of access mode can fully access and modify the Data model and the data in Cubes
- Read and Write. Users associated with security profiles with this type of access mode can view and modify values in Cubes, apply Selections, etc., but they cannot access the Data model designer space
- Read. Users associated with Security profiles with this type of access mode cannot modify values in Cubes (unless they have access to Procedures that update them) and cannot access the Data model designer space.
Note that users associated with security profiles with “Database Administrator” or “Read and Write” access modes cannot view or modify values in Cubes or Entities that are restricted by specific security selections or Cube access filters.
- Security system: This column displays the access level of each security profile that determines whether a Board user can access the Database security section or not. The available options are the following:
- Builder. Users associated with security profiles with this type of Security System can access the Database security section and create or modify security profiles
- Access denied. Users associated with security profiles with this type of Security System cannot access the Database security section of the Data model
Create or edit a security profile to bring up the Database profile options panel on the right-hand side of the screen. The panel displays the following options:
- DATA MODEL. Here you must configure the Db profile name, Security system and Access Mode settings described in the previous paragraph
- DATA SELECTION. Here you can configure and apply security selections to the security profile. These are filters that allow you to restrict access to data in Cubes or Entities, both in the Capsules/Presentations environment and in the Data model designer space. You can do this by applying a selection to the Entity members associated with the desired Cube or feature: users affected by these selection will only have access to values and data within the applied selection.
For example, if the “Germany” member of the “Country” Entity is selected, a user associated with the security profile with this security filter applied will only see data and values related to the “Germany” member.
Here you can also add a Custom selection script that allows you to manually write a selection command script to automatically filter data displayed in Board Platforms based on Entity members defined in the script. The syntax for this command is as follows:
SELECT EntityName=Member1,Member2,Member3,etc.
Example: SELECT Country=Germany,Italy
To define the desired members, you must enter their member code in the script.
Typically the Custom selection script is used to dynamically filter data displayed in Board for each user by using Substitution formulas or Metadata variables. For example, you can configure a “Country” Metadata variable, enter the country of each user in the Subscription Hub, and then use it in the Custom selection script so that users can access data only related to their country. This way, the user’s access to data is dynamically filtered by their country - based on their “Country” Metadata value -, rather than creating multiple security profiles with fixed country selections and associating those profiles with multiple user Roles.
See the next paragraph to learn how to configure security selection and Custom selection scripts in the Database profile options.
See Add and manage User metadata to use selection scripts based on custom user metadata defined in the Subscription Hub.
- CUBES. Here you can configure the access level on the Cubes of the Data model for the current security profile. This menu lists all Cubes of the Data model, with a drop-down list next to each Cube name where you can define the access level that will be saved in the security profile you are editing.
The available access levels are the following:- Ok. Users associated with the security profile with this Cube access level will have full access to the Cube values, but if the access mode property is set to "Read", they will only be able to view the Cube values despite the access level being set to “Ok ”. In any case, they will be able to manipulate values of that Cube through dedicated Procedures triggered by specified Screens or Screen Objects
- Read only. Users associated with the security profile with this Cube access level will only be able to view the Cube values. In any case, they will be able to read and write values of that Cube through dedicated Procedures triggered by specified Screens or Screen Objects
- Exclude. Users associated with the security profile with this Cube access level will not have access to the data displayed in Screen Objects whose Layout contains the excluded Cube
To learn how to configure Cube settings, see the next paragraph.
Creating or editing a Security profile
To create a Data model Security profile, proceed as follows:
- Click on “+SECURITY PROFILE” in the upper left corner to bring up the Database profile options panel on the right-hand side of the screen
- Enter the name of the Security profile in the “Db profile name” field, under the “DATA MODEL” menu. This is the name that will be associated with a user Role in the Roles page under the System Administration area of Board
- Choose an option from the “Security System” drop-down list. The two options (“Builder” and “Access denied”) are described at the beginning of this page
- Choose an option from the “Access Mode” drop-down list. The three options (“Read”, “Read and Write” and “Administrator”) are described at the beginning of this page
- (Optional) Add security selection. Open the “DATA SELECTION ” menu and click on “ADD SECURITY SELECTION” to open the Select window and configure a security selection by choosing the desired Entity members that you want the security profile to have access to. Only data related to the selected Entity members will be visible to the user associated with this security profile, as described in this paragraph
- (Optional) Add a Custom selection script. Open the “DATA SELECTION ” menu and enter a Custom selection script in the “Custom selection script” field by using the following syntax: SELECT EntityName=Member1,Member2,Member3,etc. (i.e. SELECT Country=Germany,Italy). See Add and manage User metadata to use selection scripts based on custom user metadata defined in the Subscription Hub.
- (Optional) Configure Cube access levels. Open the “CUBE” menu and change the access level from the drop-down list next to the name of the desired Cubes. You can change the access level of multiple Cubes at once by selecting the checkboxes to the left of the desired Cube names and then changing the access level in bulk from the “Change selected” drop-down list in the upper right corner of the page
- Click “SAVE CHANGES” in the bottom right corner of the screen to save the security profile.
The selection script is applied only at the Data model level.
If you configure security selections and selection scripts on the same security profile. In this case, Board will apply the security selections first, and then it will apply the selection based on the selection scripts, following their order from top to bottom.
To edit a security profile, select the desired security profile that you want to edit and follow the same steps described above (except step 1).
Changes made in the “DATA MODEL” options of a security profile will have an immediate effect on the users associated with it. On the other hand, changes made to the security selection and Cube access levels will be applied only after the Screen is refreshed.
Security Report
This feature generates a table-view with all users and their security filters on data. This allows you to easily audit users and their security selection (filters) on the Data model. The table is sortable and searchable using the interactive header fields.
The Security Report table contains the following information:
- User. The name of each Board user in the current Platform
- User profile/Role. The User profile/Role associated with each Board user in the current Board platform
- Database profile. The Data model security profile associated with each Board user in the current Board platform
- Database. The Data model you are currently working on in the current Board platform
- Security script. The Custom selection scripts saved in the corresponding Database profile
- Entity. The Entities on which a security selection has been configured in the corresponding Database profile
- Member code. The code of the Members in a security selection configured in the corresponding Database profile
- Member description. The description of the Members in a security selection configured in the corresponding Database profile
In the case of a security selection, the row of the same user is repeated as many times as the number of Members selected in the security selection. The difference between the rows is the Entity name, Member code and Member description, as shown in the image below:
Click on the “EXTRACT TO EXCEL” button in the upper left corner to export the report in Excel format.