Skip to main content

Applications, roles, and enterprise roles

In Nevis ID, an application is the object that owns roles, and each role belongs to exactly one application. An authorization assigns one role to one profile. An enterprise role bundles roles of several applications, so you assign them in one step and change them in one place. Nevis ID assigns the roles and delivers them at login, and your application decides what each role allows.

The industry also calls this model role-based access control, with roles per application and cross-application roles.

This page uses the fictional company Silvretta Insurance, which runs two applications: Claims Desk and Policy Portal.

What is an application in Nevis ID?​

An application represents one of your systems. Its purpose in Nevis ID is to own roles.

ApplicationRoles
Claims DeskRead claims, Edit claims, Approve claims
Policy PortalRead policies, Change policies

An application is assigned to the tenants (Nevis Clients) whose users work with it. One application can serve several tenants. For more information on tenants, see Tenants and isolation.

Nevis ID itself is also an application. Its roles are the administrator roles.

How does an application differ from an OIDC client?​

The application says which roles exist. The OpenID Connect (OIDC) client, or the Security Assertion Markup Language (SAML) service provider, says how a user reaches the system.

They are separate objects, and neither needs the other.

SystemApplication in Nevis IDOIDC client in Nevis ID
An SAP system whose users log in elsewhereYes, with one role for each SAP roleNo
A customer portal that only needs to know who the user isNoYes
Claims DeskYesYes

For the SAP system, you assign the roles in Nevis ID, and a provisioning tool transfers the assignments to SAP. For the customer portal, login runs through Nevis ID, and the portal has no roles of its own. For more information on OIDC clients, see Federation and SSO.

Diagram of one system, Claims Desk, as two separate objects. As an application, it has the roles Read claims, Edit claims, and Approve claims. As an OIDC client, it has a login address, client credentials, and token settings. Nothing connects the two objects.

What is a role?​

A role belongs to exactly one application. Two applications can each have a role with the same name, and they are two different roles.

Kind of roleBelongs toWhat it allows
Application roleOne of your applicationsWhatever your application decides
Administrator roleNevis ID itselfManaging users, profiles, units, and other objects in Nevis ID

For more information on administrator roles, see Delegated administration.

How does a profile get a role?​

An authorization assigns one role to one profile. It can have a validity period, and outside that period the role is not in force. For an administrator role, the authorization also names where the role applies.

An authorization comes from one of these sources:

  • An administrator assigns the role.
  • Another system assigns the role over the REST API, for example during provisioning.
  • The login flow adds or removes a role.
  • The tenant gives default authorizations to every new profile.

An administrator can be limited to a catalog of roles: certain applications and certain enterprise roles. For more information, see Delegated administration.

Each profile holds its roles on its own. The same role on two profiles of one user is two authorizations, and removing one leaves the other. For more information on profiles, see Users, profiles, and credentials.

Diagram of two profiles of Lena and the application Claims Desk with three roles. One authorization assigns the role Approve claims to the profile in Motor Claims. A second authorization, valid from 3 May 2027 until 31 December 2029, assigns the role Edit claims to the profile in Property Claims. No profile holds the role Read claims.

What is an enterprise role?​

An enterprise role is a named bundle of application roles in one tenant. Its members can come from several applications.

Enterprise roleMembers
Claims AdjusterRead claims (Claims Desk), Read policies (Policy Portal)
Senior AdjusterRead claims, Edit claims (both Claims Desk)

An enterprise authorization assigns one enterprise role to one profile, and the profile then has every member role. Like an authorization, it can have a validity period. A profile can have several enterprise authorizations, and authorizations for single roles beside them.

Three properties define the bundle:

  • The members are application roles. An administrator role cannot be a member, so an enterprise role never gives administration.
  • The bundle has one level. Its members are roles, not other enterprise roles.
  • The bundle is not copied to the profile. Nevis ID works out the roles from the current members.

Diagram of two applications, two enterprise roles, and two profiles. The enterprise role Senior Adjuster contains Read claims and Edit claims from Claims Desk and is assigned to the profile for Mateo. The enterprise role Claims Adjuster contains Read claims from Claims Desk and Read policies from Policy Portal and is assigned to the profile for Sofia.

How does an enterprise role behave when things change?​

Sofia is a new claims adjuster in Motor Claims.

StepRoles of Sofia afterward
The enterprise role Claims Adjuster is added to Sofia's Motor Claims profileRead claims, Read policies
The role Change Policies is added to the enterprise role Claims AdjusterRead claims, Read policies, Change policies
The role Change Policies is removed from Claims AdjusterRead claims, Read policies
The role Read Claims is added directly to Sofia's Motor Claims profileRead claims, Read policies
The enterprise role Senior Adjuster is added to Sofia's Motor Claims profileRead claims, Edit claims, Read policies
The enterprise role Claims Adjuster is removed from the profileRead claims, Edit claims
  • A change to an enterprise role reaches every profile that holds it, at the next login of each person. You do not update the profiles.
  • A role that reaches a profile by several paths counts once, and it stays while one path remains. Removing an enterprise role from a profile therefore does not always remove each of its roles.

How do you give many people the same access?​

Roles and enterprise roles are defined once and are available in the whole tenant.

To give a group of people the same access, define one enterprise role for their job and assign it to their profiles. Silvretta Insurance has one enterprise role for claims adjusters, whichever team they work in.

You do not need a separate role for each team. An adjuster in Motor Claims and an adjuster in Property Claims hold the same role, Edit claims. At login, Claims Desk learns two things about each of them: the role, and the unit of their profile. Claims Desk can then let the first adjuster edit motor claims and the second adjuster edit property claims. For more information on units, see Units and the organizational hierarchy.

How do roles reach your systems?​

WayWhenSuits
In the tokenAt loginThe application that the user logs in to
REST queryWhen the application asksAn application that needs the roles of a user outside a login
SCIM queryWhen a provisioning tool asksA system that keeps its own copy of users and roles, such as SAP
EventWhen an assignment changesA system that has to follow changes without asking

For more information on the REST and SCIM interfaces, see Integration, APIs, and Provisioning.

At login, the token carries the roles of the active profile. It can also carry roles of other applications that the profile holds.

In the token, a role that comes through an enterprise role arrives like a single role. The application sees the role and not the enterprise role, so your application depends on roles only, and you can change the bundles freely.

WhoDecides
Nevis IDWhich roles a profile has, and whether a role is required before a request reaches the application
Your applicationWhat a role allows inside the application

For more information on requiring a role, see Authorization Policy in the patterns reference.

Diagram in three parts. The active profile for Lena has the role Approve claims. Nevis ID decides which roles the profile has and whether a role is required to enter, and passes a token with the roles. The application Claims Desk decides what the role allows: Lena can approve a claim of Motor Claims and cannot approve a claim of Property Claims.

What happens when you delete a role, an application, or an enterprise role?​

ActionWhat goes with it
You delete a roleEvery authorization for the role, and its place in every enterprise role
You delete an applicationIts roles, and every authorization for those roles
You delete an enterprise roleIts assignment to every profile
You unassign an application from a tenantIts roles on every profile of that tenant, single or through an enterprise role

Nevis ID carries out these actions even when profiles hold the roles. A unit behaves differently: you can delete a unit only when it is empty.

Application and role facts at a glance​

FactValue
Applications per roleExactly one
Tenants per applicationOne or more
Tenants per enterprise roleExactly one
Roles per authorizationExactly one
Authorization assigned toA profile, never a user
Members of an enterprise roleApplication roles, from one or more applications
Levels of bundlingOne
Enterprise roles per enterprise authorizationExactly one
Enterprise authorizations per profileAny number, beside authorizations for single roles
Validity periodOptional on an authorization and on an enterprise authorization
Roles and unitsRoles are defined for the tenant, not for a unit