When a system user is used to log into the system, the permissions for the objects that are currently in effect, are determined on the basis of the permissions groups. The following rules are used to determine the resulting permissions:
- Permissions from hierarchical permissions groups are inherited from top to bottom. That means that a permissions group contains all the permissions belonging parent permissions groups.
- The number of objects is determined first for hierarchical permissions groups. Column permissions are decided afterward. In some cases, this results in more permissions than are defined on individual permissions groups.
- A system user receives a permission when are least one of its permissions groups has the permission (directly or inherited).
- The limiting permissions conditions for all the system user’s permissions groups are grouped together and used to determine a valid condition for each permission for viewing, editing, inserting, and deleting an object.
- Fixed viewing permissions for the database system files are granted by the system, which are sufficient for logging a system user into One Identity Manager tools.
- A system user with read-only permissions only obtains viewing permissions to objects irrespective of any other permissions.
- If permissions are granted on a table for inserting, editing, or deleting, viewing permissions are implicit.
- If permissions are granted on a column for inserting, editing, or deleting, viewing permissions are implicit.
- If permissions are granted for a table, then viewing permissions are implicitly granted on the primary key column of the table.
- If viewing permissions are granted on a primary key column as a minimum, then viewing permissions are implicitly granted for references table, the primary key column and the columns that are necessary on the referenced table for viewing according to the defined display pattern.
- Columns that need to be in a defined display pattern in the table are given implicit viewing permissions.
- Permissions for database views of the Proxy type also apply to the underlying tables.
- For database views of the ReadOnly type, only the viewing permissions apply irrespective of other permissions.
- If a table or column is disabled due to preprocessor conditions, permissions are not determined for those tables and columns. The table or column is considered not to exist.
- If a permissions group is disabled due to preprocessor conditions, permissions are not taken into account for this permissions group. The permissions group is considered not to exist.
Example of permissions grouping using permissions groups
The following example shows how to group permissions if the user is directly assigned in permissions groups and the permissions groups are not connected hierarchically.
A system user obtains permissions to the ADSAccount table through different permissions groups.
Permissions group | Viewable | Editable | Insertable | Deletable |
---|---|---|---|---|
A | 1 | 1 | 1 | 1 |
B | 0 | 0 | 0 | 0 |
In addition, it is granted permissions to the LDAPAccount table through these permissions groups.
Permissions group | Viewable | Editable | Insertable | Deletable |
---|---|---|---|---|
A | 1 | 0 | 0 | 0 |
B | 1 | 1 | 1 | 0 |
Therefore, the system user has effectively the following permissions:
Table | Viewable | Editable | Insertable | Deletable |
---|---|---|---|---|
ADSAccount | 1 | 1 | 1 | 1 |
LDAPAccount | 1 | 1 | 1 | 0 |
Example of limiting conditions
A system user obtains viewing permissions to the Person table through different permissions groups:
Permissions group | Viewing Condition | Column Viewing Permissions |
---|---|---|
A | Lastname | |
B | Lastname like 'B%' | Lastname, Firstname, Entrydate |
C | Lastname like 'Be%' | Lastname, Firstname, Gender |
D | Lastname like 'D%' | Lastname |
This results in the following permissions for the individual employee objects.
Person.Lastname | Visible Columns |
---|---|
Smith | Lastname |
Bishop | Lastname, Firstname, Entrydate |
Bennett | Lastname, Firstname, Gender |
Dummy | Lastname |