...
Note | ||
---|---|---|
| ||
In the future System and Custom Roles will be merged to just Roles. New schema is shown at the end of this page. |
Trivore Identity Service (TIS) utilises Role-Based Access Control (RBAC). The basic building blocks in RBAC are roles and permissions. Permissions allow a principal to perform some action like editing user accounts. Roles consist of one or more permissions and can be simply thought to be a group of permissions. Users are then given one or more roles depending what kinds of tasks they need to perform. In practise, the views which users see in the Main Menu and can access, depends on assigned roles and permissions at any particular time. Also views will only allow users read-only access if the users do not have the required permission to manage the objects.
...
- Custom roles through groups
- Custom roles through namespace default account policy (special case, gives roles to all accounts within a namespace)
- Direct Custom roles (deprecated)
- Direct system System roles (deprecated)
- Direct permissions (deprecated)
...
The current complexity is being reduced after collecting and analysing customer feedback. You know, sometimes there can be too much flexibility, as it may reduce usability and learnability.
Expand | ||
---|---|---|
Role classes and the special rolesRoles are divided into two main classes: Admin and Auditor. In addition there are two special roles: Multi-namespace and Developer. System RolesSystem Roles are designed to cover 99 % of use cases. This is why getting to know the System Roles is important. The full list of these roles is below in section 6.3. Next we will discuss the most important System Roles, and the difference between the two classes.
In general, Admin class has full read-write access to its objects, and Auditor class has only read-only access. For roles Namespace Admin and Namespace Auditor the object in question is the namespace and its settings. For roles Account Admin and Account Auditor the object in question is a user account and user account policies. For roles Role Admin and Role Auditor the objects in question are the role definitions in a namespace and on each user account in the namespace. For roles Group Admin and Group Auditors the object is a group, which may have different kind of members (user accounts, other groups, or contacts, which are covered in a later chapter). Group Admin is able to manage groups, and Group Auditor is able to review the current state and settings. Custom RolesIf the selection of built-in system roles does not serve the technical and business requirements of your organisation, it is possible to create custom roles which may have virtually any set of permission.
Special RolesMulti-namespace is a special role. It allows for the role holder to switch from a namespace (usually same as a tenant) to another for convenient management of multiple namespaces and the user accounts, groups, and roles in those namespaces. The Multi-namespace role itself does only allow for switching namespace. Other roles are required for actual management. On the user interface, the switching is done by selecting the namespace name on Namespace Menu on the Top Bar. This is a very powerful role, and the holders of this role are always considered trusted persons. Developer is another special role. It is reserved for application developers. Developers may manage Management API clients and OpenID Connect clients. Those are external applications utilising TIS platform. The API Guide explains the use of external applications in more detail. Roles and PermissionsRole is a management unit in TIS. Roles are preferably assigned to user groups, but may still be assigned to user accounts directly. This direct assignment is being phased away in a future release. If we look at the roles more carefully, we see there is an additional concept tightly related to a role, namely a permission. A permission is a detailed item. There are hundreds of permissions in TIS each allowing a certain small thing to be done. If that permission is missing (example: list user accounts), the signed in user account is not able to do any task which requires that permission. A role is actually a collection of permissions. Some permissions, like listing user accounts, are required by many roles, so there is a lot of overlapping. Due to the rather technical nature of permissions, they are not widely or often discussed, but it is important to understand they exist and they make the basis for roles to function. If you need to make a Custom Role for some reason, you need to understand Permissions, as you are essentially assigning Permissions to a Custom Role, and then later via Group to a user Account. |
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Role assignmentThere are multiple pre-defined roles and rules on how each role can be assigned to a user account or group. The following table contains this information in one place for System Roles. Custom Roles follow the same schema.
Role assignment matrix. There are few limitations on role assignment and especially removal. This is to avoid lock-out situations.
Assigning namespace for account with role Multi-namespaceIt is important to understand:
Results from above are:
Tip: Familiarise yourself with information in section below. |
...