14.12.0 14.11.0 14.10.0 14.9.0 14.8.0 14.7 14.6 14.5 14.4 14.3
14.12.0 14.11.0 14.10.0 14.9.0 14.8.0 14.7 14.6 14.5 14.4 14.3

Setup Keycloak for VRS

Follow the steps below for setting up Keycloak for VRS

  1. Go to FQDN:8088/auth and click on the Administration console

keycloak-welcome.png
  1. Log in to the administration console using the password set in environment variables (KEYCLOAK_USER and KEYCLOAK_PASSWORD). The default username is admin, and the password is admin

  2. Bring the cursor to the Master (below the Keycloak logo) and click on the Create realm button

Screenshot 2024-01-23 at 5.20.22 PM.png
  1. Enter the Realm name and click on the Create button

Screenshot 2024-01-23 at 5.20.33 PM.png
  1. Once the Realm is created, click on clients under the created realm, and then click the create client button

Screenshot 2024-01-23 at 5.20.45 PM.png
  1. Enter Client ID vrs and click on Next.

Screenshot 2024-01-23 at 5.20.59 PM.png
  1. Toggle the Client authentication and Authorization to ON, click Next, and click Save

Screenshot 2024-01-23 at 5.23.55 PM.png
  1. Once the client is saved, go to the Credentials tab and copy the client secret. The Client ID (vrs) and Secret will be used in environment variables (KEYCLOAK_CLIENT_ID and KEYCLOAK_CLIENT_SECRET)

Screenshot 2024-01-23 at 5.24.28 PM.png
  1. Click on Realm Roles in the left panel and create the desired roles: admin, agent, supervisor, download, evaluatetag, and export. From 14.11.0, viewtag is not required (all users can view tags).

kc-realm-roles.png

Role quick guide

  • admin — base role; all recordings and admin features; can open Operations Dashboard.

  • agent — base role; own recordings only; cannot open Operations Dashboard.

  • supervisor — base role; Media Recordings and Operations Dashboard for agents in the same /Departments/<name> groups (from 14.12.0, OD matches Media Recordings scoping).

  • download, export, evaluatetag — add-on roles for download, CSV export, and tag assign/unassign. Assign on top of a base role as needed. Details: VRS Authorization & Permissions.

  1. Go to Users and create user by entering Username and click Create.

keycloak-users.png
  1. Go to the Credentials tab of the created user and set a password, toggle the Temporary button to OFF, and click Save.

Screenshot 2024-01-23 at 5.25.13 PM.png
  1. Open the created user, go to the Role mapping tab, click on Assign Role, select the desired roles (for example admin, agent, supervisor, download, evaluatetag, and/or export), and click on Assign.

keycloak-user-details.png
keycloak-assign-roles.png

While role mapping, the default roles should be kept assigned to the user for the purpose of authentication and authorization.

Example — agent user: assign the realm role agent (keep default-roles-vrs). Add-on roles such as download are optional.

Agent user haris2 role mapping with agent role
  1. For Admin user only,

    1. Assign the admin role other than the default roles assigned previously.

    2. Now, click on the Assign Role button again, and then select the Filter by clients option in the dropdown.

      Filter by clients
    3. Open the items per page drop-down and select 50 items per page.

      50 items per page
    4. Now type realm in the search box and press Enter or click the Next button.

      Search realm-management roles
    5. Upon searching, all the realm-management roles will appear; assign all the realm roles to the Admin user.

    6. When finished, the admin user's Role mapping tab should show the realm role admin (plus any add-ons such as download / export / evaluatetag) and the realm-management client roles.

      Admin user role mapping with admin and realm-management roles

Creation of Keycloak Agent Group for VRS Finesse Gadget

For deployments using the VRS Finesse gadget, the following steps are required as well:

  1. Open the target realm, i.e., VRS.

  2. Navigate to the Groups section in Keycloak.

  3. Click the Create group button.

  4. Create a group named AGENT_GROUP.

Groups list with AGENT_GROUP and Departments
  1. Open AGENT_GROUP and navigate to the Role mapping tab.

  2. Assign the realm role agent to this group.

  3. If the agent role does not exist, first create it under Realm roles, then return to AGENT_GROUP and assign it.

  • The group name should be exactly AGENT_GROUP.

  • New users added to this group will inherit the agent role through Keycloak group-to-role mapping.

Supervisor role and department groups

For supervisors (Media Recordings department scoping and Operations Dashboard access), use the same realm role supervisor. Create it under Realm roles if it does not exist (step 9). No separate dashboard role is required.

Screenshots below match the walkthrough in VRS User Guide section 2.1 Supervisor departments.

  1. Open the VRS realm → Groups → create a parent group named Departments.

    Keycloak Groups with Departments parent
  2. Under Departments, create a child group for each team (for example sale) so the path is /Departments/sale.

    Departments child group sale
  3. On the child group → Members, add agent users and the supervisor user to the same child group. Agent usernames in Keycloak must match the Cisco agentId values used by VRS.

    03-sale-members.png
    08-supervisor-user-groups.png
  4. On the vrs client → Client scopes → dedicated scope → Mappers, open the groups (Group Membership) mapper and set Full group path to On so the token shows /Departments/sale, not only sale.

    vrs client groups mapper list
    groups mapper Full group path On
  5. Assign the realm role supervisor to the supervisor user (keep default roles).

    supervisor user Role mapping with supervisor role
  6. Keep the Keycloak service account permission view-users (and typically query-users / query-groups) on the vrs client → Service accounts roles. It is required for supervisor department scoping on Media Recordings and the Operations Dashboard. If revoked, supervisor resolution fails safe (empty allowed list).

From VRS 14.12.0: Department groups apply to both Media Recordings and the Operations Dashboard. A supervisor sees OD metrics only for agents in their shared /Departments/<name> group(s). Admins still see the full tenant. See VRS Authorization & Permissions and Operations Dashboard.