Skip to content

User right management

Introduction

The Versio.io platform offers several options for enabling or restricting user access at the level of functionality and data. The first step is to present the basic concept of user rights management, on which all subsequent documentation is based.

The Versio.io platform can manage several logically completely separate environments ( multi-tenant / mandant concept). User access to an environment can be restricted at function and data level (inventory). So-called workspaces must be defined for the restriction at data level. These define the workspaces to which each instance of the inventory belongs.

User groups make it possible to define which users may use which functionalities in connection with which workspaces (data) of the user group. This means that a user always requires at least one assignment to a user group in order to be able to access an environment. The following diagram illustrates the structure of authorisation management once again:

User rights management concept in the Versio.io platform

Figure: User rights management concept in the Versio.io platform

The following figure illustrates once again the relationships and cardinalities of all user group management entities involved:

Domain model for user rights management in the Versio.io platform

Figure: Domain model for user rights management in the Versio.io platform

Based on this basic concept, general and very detailed authorisation access can be implemented in Versio.io.

Customers have two implementation options for separation at data level:

  1. Environment (client): The data is stored in separate environments and users are only given access to a dedicated environment.
  2. Workspace: The data is stored in one environment and logically assigned to different workspaces. Users then only have access to the data in their workspace within the environment.

Examples of implementation variants:

Example Description
Company with different departments A company does not want to lose the context between the inventoried data (topology), but the individual departments should not be able to access the data from each other, or only to a limited extent. Inventory all data in a Versio.io environment and define workspaces for each department that mark their data. User groups can then be defined to determine which users can do what with which data.
TEST and PROD environment A customer inventories data from the TEST and PROD environments in separate Versio.io environments. This means that the data is logically separated and can be easily accessed by different users. In the TEST environment, he can manage with fewer rights restrictions due to the low criticality.
Managed Service Provider A Managed Service Provider offers services for customers. He does not want to define a separate environment for each customer, as he always has to change environments due to the number of customers in the context of service provision and never gets an overall view. In this case, the provider uses one environment and assigns the data instances to be managed to corresponding workspaces.

User

Users can be created and assigned to an environment by assigning them to a user group by entering an e-mail address.

These are always global users within the entire Versio.io platform. This means that the individual user is stored across all environments. The user can make individual adjustments and settings in the user profiles.

By removing the user from all user groups, access to an environment is withdrawn from the user.

User groups

The user group plays the central role in the assignment of rights. Here you can define:

  1. Which users are part of the user group. To do this, you can assign or remove existing users in the environment.
  2. Which authorisations (roles) the users are allowed. All available roles are specified below.
  3. Which data of the included workspaces can be accessed by the user with the authorisations. If no workspace is defined, the user can access all data.

The following table describes the roles and group assignment in detail:

Roles Scope Description Rights
Server administrator Server Configure Versio.io server instance settings and create or deactivate environments. Administrator
Environment administrator Environment Configure Versio.io environment settings and user access. Environment Admin, Environment Viewer, User admin, User viewer, API token admin, API token viewer
User GUI access Environment Get GUI access for the specific environment. Environment Viewer, User and password settings
User API token management Environment Define and manage user specific API tokens for the specific environment. User API token management
CMDB viewer Environment Navigate, search and visualize configuration items and assets. CAMDB reader
CMDB writer Environment Save or update configuration items and assets via API. Depends on User API Token management. CAMDB writer
CMDB configurator Environment Configure the settings for configuration items and assets (entity, entity groups, importer). CAMDB configuration
CA viewer Environment View and analyse the cost allocation. CA reader
CA configurator Environment Create and configure price models for cost allocations. CA writer --> define price models
GC viewer Environment View and analyse the violations and notifications based on governance & compliance rules. GC reader
GC executor Environment Execute a verification process for a ruleset.
GC configurator Environment Create and configure rulesets for governance & compliance verification.

Table: Versio.io roles (rights)

Folgende Abbildung zeigt, wie sie eine Benutzergruppe in Versio.io konfigurieren können:

User group configuration

Figure: User group configuration

Workspaces

A workspace is a powerful approach in Versio.io to define sub-areas of all instances (data) available in the inventory. Typical examples of workspaces are the mapping of organisational structures and areas of responsibility. Workspaces can be used in Versio.io in role and rights management to enforce access authorisations to instances in the inventory. Furthermore, the user can use all workspaces assigned to him as a filter criterion for Versio.io views. Workspaces can overlap, just as the responsibilities of teams can overlap.

The following graphic shows some of the ways in which workspaces can be cut:

Examples of a workspace, two overlapping workspaces and an invertible workspace

Figure: Examples of a workspace, two overlapping workspaces and an invertible workspace

The following assignment criteria can be used for a workspace definition:

Types of assignment criteria Description Example
Instances Inclusion of a predefined list of instances Host test-myapp
Entities Inclusion of all instances of an specific entity Entity Host
OneImporter/OneGate Inclusion of all instances that were inventoried using of a specific OneImporters and OneGates OneImporter prod-myhost
Module type Inclusion of all instances of a specific module type Module SSL Certificate
Importer configuration Inclusion of all instances that have been inventoried via a special importer configuration Importer configuration My importer configuration

Table: Types of assignment criteria for a workspace definition

All assignment criteria of a type are logically OR-linked and logically AND-linked across types.

Workspaces können in Versio.io in den Environment Seetings verwaltet werden (Environment settings -> Workspaces). Folgende Abbildung zeigt, wie man Workspace Regeln definieren kann:

Figure: Workspace rule configuration