Cloud Pak roles and permissions
Roles that are assigned within IBM Cloud Pak® for Integration define the various tasks that are required to configure and use Cloud Pak for Integration. Product roles are assigned within Keycloak and organized into groups of roles under Keycloak clients.
These Keycloak clients represent the following:
The Cloud Pak for Integration installation as a whole
Specific deployed instances
The Keycloak realm itself
The account management console
A Cloud Pak for Integration user is assigned permissions in Keycloak using role-based access control. When assigning a role to a user or a group in Keycloak, select Filter by clients to show roles associated with clients. You can search for specific roles and clients.
Client roles for the Cloud Pak installation
For each installation of Cloud Pak for Integration, there is a corresponding Keycloak client that represents the installation as a whole. This client contains roles that have permissions across the installation (not restricted to specific instance deployments).
The client for the Cloud Pak for Integration installation is named integration-<namespace>-xxxxx, where namespace is the namespace in which Cloud Pak for Integration operators are installed. Omit the namespace value if Cloud Pak for Integration is installed in All namespaces on the cluster mode.
The following roles in the Cloud Pak for Integration client apply to all instances:
admin- Gives admin permissions in all instances. Allows the creation, editing, and deletion of every instance type. Allows management of versions and upgrade for all Cloud Pak components. Does not give access control permissions.viewer- Gives permissions to view all instances in the Platform UI
Whlle two client roles (admin and viewer) apply to all instances, other roles in the Cloud Pak for Integration client allow access to all instances of a specific instance type within the Cloud Pak for Integration installation. Unless otherwise specified, the Platform UI allows users with these roles to either administer or view the specific instance type.
| Instance type | Roles |
|---|---|
| (Applies to all instances) |
|
| Integration dashboard |
|
| Integration design |
|
| Kafka cluster |
|
| Kafka topic |
|
| Kafka user |
|
| Kafka Connect runtime |
|
| Kafka connector |
|
| Queue manager |
|
| Event Manager |
|
| Assembly |
|
| Messaging server |
|
| Integration runtime |
|
| API |
|
| API Product |
|
| Bindings |
|
| Event Gateway |
|
| Event Processing |
|
| Policy |
|
| Policy binding |
|
| High speed transfer server |
|
| Enterprise gateway |
|
| App Connect configurations |
|
| Secret |
|
| ConfigMap |
|
Client roles for specific instances
When an instance that uses Keycloak is created, a corresponding Keycloak client is also created. Each client contains roles that are applicable to that specific instance.
The following is a list of instances that have corresponding Keycloak clients, and the roles that are associated with the client for that instance.
| Instance | Roles |
|---|---|
| Integration dashboard |
|
| Integration design |
|
| Queue manager |
|
| Event manager |
|
| Kafka cluster |
|
| Automation assets |
|
Identifying roles for specific instances in the Keycloak UI
You can determine which roles correspond to a particular instance in the Keycloak access control console.
To get a list of clients with their associated roles, locate the "Assign roles" pane and enter a particular instance name or role name in the search box. For example, if you have an Integration dashboard instance called cp4i-ace-dashboard, you can search for that string to get the client roles that apply only to that instance. The following screenshot provides example search results. The same client is listed multiple times; each corresponding role is listed on a separate line.

The next screenshot is a zoomed-out example view of the "Assign roles" pane, adding more detail of how all the clients and roles for a particular user are represented, and how to navigate them.
The first (highlighted) string in the Name column is the client name corresponding to a particular instance. This is usually written in the format
<kind>-<namespace>-<kubernetes_resource_name>-<uniqueID>. For example, the entries fordash-ace-dashboard-ns-cp4i-ace-dashboard-da0aacorrespond to the roles for the Integration dashboard instance namedcp4i-ace-dashboardin theace-dashboard-nsnamespace.After the client name (still in the Name column) is the role that applies only to that instance. As already described, the same instance may be listed multiple times, with that each corresponding role listed on a separate line.
For the instance
dash-ace-dashboard-ns-cp4i-ace-dashboard-da0aa:Ignore the
uma_protectionrole.There are two user roles for this client,
dashboard-admin, anddashboard-viewer. These roles give the permissions already described in the "Client roles for specific instances" section.Assigning any of the roles for this client gives permissions for only that Integration dashboard instance.
The screenshot also shows a Keycloak client with the name
integration-b88d7. This Keycloak client represents the Cloud Pak for Integration installation as a whole. It has roles (dashboard-admin, anddashboard-viewer) that apply to all Integration dashboard instances. Because those roles are associated with the Cloud Pak for Integration installation client, assigning those role gives associated permissions for all Integration dashboard instances, rather than a particular instance.

Realm management client roles
In Keycloak, a realm is a space where you manage objects, including users, applications, roles, and groups. The realm-management client represents the Keycloak realm and can be used to assign identity and access management roles.
An admin user is assigned roles from the realm-management client. The following user functions are listed with their corresponding roles.
| User function | Role |
|---|---|
| Keycloak user and group management |
|
| Identity provider management |
|
| User federation management |
|
| Advanced configuration |
|
| Realm management administrators | These administrators are created automatically:
|
Account client roles
The account client represents a user's own account and their ability to access the Keycloak account console. In the console, they can perform actions such as changing their own password and viewing their personal information.
- Individual account client roles
Individual users are assigned roles from the
accountclient by default:view-profile- View their own profile within Keycloakmanage-account- Change their Keycloak password
Assigning roles to users in the Keycloak UI
From the IBM Cloud Pak Platform UI home page, click the Navigation Menu icon at the top left corner, then click Administration > Access control. The "Welcome to cloudpak" realm page opens.
Click the navigation menu icon, and from the navigation pane, click Users.
Enter the username in the search box.
From the list of users, click a username to open the "User details" page.
Click the Role mapping tab.
Click Assign role.
Click to open the dropdown menu and click Filter by clients.
Select the roles that you want for this user and click Assign.