|
For the latest version, please use Certificate Lifecycle Manager 6.4.0! |
Roles and Permissions
Roles are business units that contain one or more permissions and can be assigned to CLM users or API clients. For example, a role can be configured to contain the permissions required for a specific operation, such as certificate creation or revocation for a policy.
The role CLM_ADMIN, which contains the ADMIN global permission, is always present in MTG CLM.
Creating Roles
Roles can be created through the MTG CLM interface to define specific permission sets for different user types and operational requirements.
Permissions System
MTG CLM uses a fine-granular permissions system,
where a RA Operator (user or API Client) can receive individual permissions for specific operations (such as READ/UPDATE/DELETE) for specific resources (such as realms, policies, end entities, certificate requests, certificates).
Permission Scenarios
| Scenario | Outcome | Extras |
|---|---|---|
RA Operator has PolicyPermissions |
Also has permissions to read the policy and any belonging certificates |
Cannot modify or delete the policy (requires additional permissions) |
Automatic Permission Assignment
Whenever a RA Operator creates a new resource, the application ensures that they receive at least a set of permissions on it, so that they are able to see and use it:
For a realm: [FULL_READ, UPDATE, DELETE, ENDENTITIES_CREATE, POLICIES_CREATE]
For a policy: [READ, UPDATE, DELETE, CERTS_CREATE]
For an end entity: [READ, UPDATE, DELETE]
For a certificate request: [READ]
For a certificate: [READ, REVOKE]
Implicit Permissions
In addition to any explicit permissions, users and API clients always have implicit READ and partial UPDATE permissions to themselves,
in order to allow for functionality (such as updating an e-mail address or resetting a forgotten password).
For more information regarding the different groups of permissions refer to API Permissions.
System Notes and Limitations
Role Management
-
Roles are stored and managed in Keycloak application.
-
The default
CLM_ADMINrole cannot be edited or deleted using MTG CLM. -
CLM_ADMINrole can still be deleted using Keycloak UI - this is advised against. -
If the
CLM_ADMINrole gets deleted in Keycloak, you may create a role with the nameCLM_ADMINusing Keycloak UI.
Role Behavior
-
Renaming a role in Keycloak will result in MTG CLM perceiving it as deleted.
-
The renamed role can be viewed in MTG CLM, but no permission will be associated with it.
-
On startup, along with
CLM_ADMIN, a roleKC_ADMINis created, which can be assigned to a Keycloak user that needsADMINaccess to it. -
Any default realm role can be edited and deleted like any other role.
Default Realm Roles
-
Realms created before default realm roles were introduced get assigned roles on startup via migration scripts, except from realm
SYSTEM. -
Since
SYSTEMrealm is not meant to be used with API clients, which is the sole use case for default realm roles, this is the only realm that does not get assigned a default role.