Configure access control list
Access control list (ACL) specifies which users are granted access to objects and what operations are allowed on given objects. For Workspace, ACL-based approach is used by providing an access control mechanism where each assignment has its owner and ACL.
Workspace limits access to assignments based on user groups in WorkFusion User Management, thus allowing Business Processes and assignment data to be securely restricted only to users who are authorized to access and complete the assignment.
The diagram below illustrates the interaction of the Workspace ACL components:

Dynamic user group configuration is based on business attributes in input data or Data Store.

The procedure for obtaining the list of assignments is as follows:

All other operations with assignments use similar logic.
Grouping in WorkFusion User Management
Groups in WorkFusion User management allow you to manage a common set of attributes and role mappings for a set of users. Thus, you restrict tasks to users who are allowed to access them to complete. These users can be members of zero or more groups.
In Control Tower, you can provide access to user groups for each Manual Task in input data. Tasks with no groups defined are available for all users.
Groups may contain subgroups. Tasks of children groups will be available for users from the parent group. Meanwhile, users from a child group are able to see tasks of the child group only.
Let's say we have the following group hierarchy:
- Portugal
- Finance
- France
- Marketing
- Finance
and three users:
- User 1 belongs to the Portugal group and the Marketing subgroup within the France group
- User 2 belongs to the France group and the Finance subgroup in the Portugal group
- User 3 does not belong to any group
For example, you create the following tasks in Control Tower:
- Task 1 for the Finance subgroup in the Portugal group
- Task 2 for the Marketing subgroup in the France group
- Task 3 for the France group
- Task 4 for the Finance subgroup in both the Portugal and France groups
- Task 5 with no group
In this case, the availability matrix looks like this.
| User | Task 1 | Task 2 | Task 3 | Task 4 | Task 5 |
|---|---|---|---|---|---|
| User 1 | + | + | - | + | + |
| User 2 | + | + | + | + | + |
| User 3 | - | - | - | - | + |
Setup in User Management
Steps mentioned below are for local use only. The installer has already set them up.
General settings
Sign in to User Management as the Administrator user.
Go to the Clients tab and select wf-workspace.
On the Settings tab, check the Service Account Enabled property. Do not forget to click Save.

As soon as Service Account Enabled is on, the Service Account Roles tab becomes available. Go to Service Account Roles and start typing
realmin the Client Roles field until realm-management becomes visible.
Select realm-management. A new section containing Available Roles appears.
Select the view-users role and click the Add button.

The role is moved to the Assigned Roles section and role mappings are updated.

Go to the Mappers tab and click Create.

In the Create Protocol Mapper, create a mapper with the following values:
- Name: User Groups
- Mapper Type: Group Membership
- Token Claim Name: groups

Enable all toggles and click Save.
Create groups
Sign in to Keycloak and select the Groups tab in the Manage section.

To create a group, click the New button. In the Create group dialog, enter a group name and click Save.
Groups have a hierarchical structure. You can add one group within another. If you want to add a child to a group, select a parent group and click New.

For more information on User Management groups, refer to User Management | Create groups.
Add users to group
Log in to User Management, go to Users, find the user, and click Edit.

Go to the Groups tab > Available Groups. Select a group and click Join to add a user to the group.

The Group Membership section updates accordingly.

To view users in the group, go to Groups, select a group, and click Edit. On the Members tab, there is the list of group users.

For more details on user group configuration, refer to User Management | Configure users.
Setup in Control Tower
Control Tower uses the Workspace API to manage access to assignments via the Workspace Preview mechanism. It can be some system attribute, for example, _sys_user_groups.
There are several ways to set _sys_user_groups in Control Tower:
- Сonfigure a Manual Task in Workspace preview manually.
- Сonfigure user groups dynamically based on user group attributes from a source (input data or a data source).
You can configure user groups dynamically using business attributes from a source and user group attributes from User Management. The source can be an input data file or a Data Store. For details, refer to User Management | Create groups.
Create attribute
User group information must be sent in the _sys_user_groups attribute in the input data.
To create an attribute, go to System Settings > Field Schemes.

Click Create Field Scheme and enter the name of the scheme you want to use.

Add an answer of the Free Text type with the
_sys_user_groupsname. Click Save.
infoField schemes are also used for the attribute feature. If you already have a scheme in use, update it instead of creating a new one. See more in Set up filter attribute.
After creating a Manual Task, double-click it in the Business Process flow. Go to the Worspace preview tab, select the scheme you created, and click Save.

Syntax
A task can be available to multiple groups. To define it, use comma (,). Group hierarchy is defined with a slash (/).
The group path must be set from the root. For example, if you want tasks to be available to the Finance subgroups within the France and Portugal groups, configure it as /EMEA/France/Finance,/EMEA/Portugal/Finance.
For troubleshooting guides, refer to the following support guides: