Table of Contents

Roles

 Entities relations

A role in CzechIdM is an entity representing a set (1 or many) of permissions/privileges on the end system or in CzechIdM itself. Users acquire roles:

From the perspective of the identity manager, it does not matter whether the user acquires an account in a specific application, is placed in a group in LDAP, his indication is set to “can use VPN”, or a permission is set for him in the application. In all the cases, a role is assigned. A simplification carried out like this allows general rules to be applied for assigning all types of permissions (~roles) in the same way.

Creating/editing a role

To create a new role, go to Role agenda and Role management tab, then click Add. A unique name for the role must be chosen within all the roles. The role can also be placed in one or more folders in the catalogue of roles.

 Role list agenda

Každá role může mít nastaveno, kdo je jejím garantem, na garanta se mohou vázat další události jako například schválení přidání role, změna platnosti a její odebrání. Více viz sekce schvalovaní rolí.

A guarantee can be set for every role. Other processes can be related to the guarantee such as approval of assigning a role, change in time validity and its removal from user. See more in the section about role approval.

 New role

The following attributes can be set with every role:

After all the requested selections have been entered, click on Save and continue. This will bring you straight to the menu Role → Role management, specifically to the detail of the newly created role.

 role menu

Extended role attributes can be edited in the tab More information. A separated chapter is thia guide is dedicated to extended role attributes.

Role permissions

Role permissions – Permissions of a given role for administrator actions in CzechIdM are defined in the tab Permissions. A permission for CzechIdM is not necessarily defined for every role.

 role permissions list

To add some permissions for actions in CzechIdM to a role, click the button Add. The following attributes can then be worked with:  a new role permission

The following attributes can then be worked with:

Automatic roles

 Automatic roles list

The tab Automatic roles allows integrating a given rolen into an organizational tree. This means that the role will be assigned to and removed from users based on adding/removing of a user to/from the organizational tree structure. The automatic roles agenda displays the current list of tree structure elements (organizations) in which the currently edited role is set as automatic role.

 Automatic role add

In the current version of CzechIdM, automatic roles can only be created and removed.

A new automatic role can be created by clicking the button Add. The following parameters of automatic roles can be set.

The validity of user's contracted position is checked when integrating the user into the organization structure. If the user’s contracted position is not valid (according to the contracted position's attributes Valid from and Valid till), then

If the validity of the user’s contracted position, for which he has been assigned an automatic role, changes, then the validity of "role to user" relation changes as well. This ensures that, at the beginning or the end of the contracted position, the role will always be removed or added regardless of how the validity has been changing in course of time.

If a role is added as automatic into a structure where there is already a user, the user will be assigned this role immediately. On the contrary, if an automatic role is removed from a structure where there is already a user, it will be removed from these users immediately.

Approving of role assignment

There are several ways of role assignment in CzechIdM. This chapter describes the manual process of role assignment

In each of the previous points, a Change permissions request is created. CzechIdM contains a process, which ensures approving of this request in the following steps:

In steps 1, 2, 3, and 5, the request is approved as whole; i.e. all roles approved in the previous steps proceed into the next round of approval. In the approval rounds 1, 2, and 3, the realizator can return the request for a revision, deny it, or approve it. If the approving agent returns or denies the request, the requesting agent is notified about it. After the request has been successfully approved in last round, a notification is generated which show the resulting state of the request, i.e. which roles have been approved and which not.

Enabling or disabling of these approval rounds (as well as the definitions of role names for the individual approving rounds) can be configured in the configurational file application.properties or by an explicit entry in the tab Settings → Configuration:

 Configuring roles approval

Roles criticality – disintegration to subprocesses

The main process of a permission change can disintegrate into smaller subprocesses depending on the application settings. Under the menu item Settings → Configuration, properties of the form idm.sec.core.wf.role.approval<1-5> can be set. The value of each property is the name of the workflow which approves the given criticality level.

The basic workflow names are: approve-role-by-guarantee (approved by the guarantee of the role), approve-role-by-manager (approved by the manager of the user for whom the role is requested).

The level of criticality can be set within each role. By default, there are 5 levels of criticality in the CzechIdM application: None (0) - nobody approves role assignment, Trivial (1) - role guarantee approves its assignment (workflow - approve-role-by-guarantee), Low (2), High (3), Critical (4).

Approval of individual roles which were requested within the main process is now realized in the subprocesses. This approval is done asynchronously for all roles. The main process is resumed after finishing the last subprocess (be its denial or approval).

Accounts

On role detail tab panel, there is tab called Accounts as you can see in the screenshot below. When you access this page, it will show all accounts which were created by provisioning of some system which has mapping for Roles.