A user role is a consolidation of several permissions. A permission is a delegation of authority or a right that is assigned to a user or a group of users to perform an action on a system. Permissions can be granted to or revoked from a user/user group/user role automatically or by a system administrator. For example, if a user has the permission to sign into a system, then the permission to sign out is automatically implied without the need of granting it specifically. Instead of associating permissions with a user, admins can associate permissions with a user role and assign the role to users. User roles can be reused throughout the system and prevents the overhead of granting multiple permissions to each and every user individually.
Default user roles
The following are the roles that are available by default in WSO2 ES.
All WSO2 ES specific roles are stored internally in the DB that is shipped with WSO2 ES.
Internal/publisher
- This is a sample role that is meant to demonstrate the permissions required from a Publisher user.Internal/store
- This is a sample role that is meant to demonstrate the permissions required from a Store user.Internal/reviewer
- This is a sample role that is meant to demonstrate the permissions required from a Reviewer user. Every asset needs to be reviewed by a user in this role before the asset is published into the Store.private_{username}
- users’ private role. Every user in the ES is automatically associated with a role that is created by prefixing their username withprivate_
. Use this role to control per-user permissions.Internal/everyone
- This role, which is a system reserved role, is used to create system operations.If you wish to prevent external operations being carried out by the
Internal/everyone
role, ensure to revoke operations from the role.
Permissions associated with user roles
User role | Allowed Actions |
---|---|
Internal/publisher
|
|
Internal/reviewer |
|
Internal/store
|
|
private_{username}
| By default, only the login permission is assigned to this role. However, if there are permissions that need to be allowed to specific users, they can be assigned using this role. Ensure to replace the {username} with that specific user's username. |
If you create any custom roles that mimic the internal/publisher
role, which is shipped with ES, you need to add the read/write access to the static part of the storage path defined in the RXTs.
staticPath = Utils.governanceRooted(staticPath);
The Add, Modify, and Remove role options are only visible to administrators with privileges.
Adding a user role
Follow the instructions below to add a user role:
- Sign into the WSO2 ES Management Console.
- On the Main menu, navigate to Users and Roles, and click Add.
- Click Add New Role.
- Select the domain. By default, PRIMARY appears to indicate the primary user store; however, if secondary user stores have been added they are listed in the Domain drop-down list.
- Enter the name for the role.
- Click Next and proceed to the next step. You can also click Finish, in which case, the new roles will be created with default permissions (none) and no assigned users.
- Select permissions for the new role.
- Click Next.
- Enter a username pattern. Use one of the following approaches:
- Enter the exact username.
- Enter part of the username followed by or preceded by an asterisk (*) (for example, ad* - this option will return all the users that have usernames starting with "ad").
- Enter only an asterisk (*). This option will return all the users under the selected domain.
- Select the users that will be assigned to the role.
- Click Finish.
The new role is added to the list on the Roles page.
When adding roles to external user stores
- Some external user stores do not allow you to create empty roles. In that case, selecting users who belong to a role is mandatory.
- If you connect to an external user store (e.g., LDAP) in the read only mode, you can read existing roles from it, but you can not edit/delete the roles. In this case, you can still create new roles that are editable and can be managed internally.
- If you connect to an external user store in read/write mode, you can edit the roles in the external user store as well.
Creating an internal role
- Sign into the WSO2 ES Management Console.
- On the Main menu, navigate to Users and Roles, and click Add.
- Click Add New Role.
- Select Internal from the Domain drop-down menu.
- Enter a name for the role.
- Click Next to proceed to the next step. You can also click Finish, in which case, the new roles will be created with default permissions (none) and no assigned users.
- Select the respective permissions that need to be assigned to the role and click Next.
- Enter a username pattern and click Search.
- Enter the exact username.
- Enter part of the username followed by or preceded by an asterisk (*) (for example, ad* - this option will return all the users that have usernames starting with "ad".)
- Enter only an asterisk *. This option will return all the users that have not been assigned to this role.
- Select the respective users that need to be assigned to this role.
You can also click Finish. In this case, the new roles will be created with no assigned users. - Click Finish.
Searching for roles
Follow the instructions below to search for roles:
- Sign into the WSO2 ES Management Console.
- On the Main menu, navigate to Users and Roles, and click List.
- Click Roles.
- Select the user store domain.
- Enter a role name pattern using one of the following approaches:
- Enter the exact role name.
- Enter part of the role name followed by or preceded by an asterisk (
*
) (for example,t*
- this option will return all the roles that have role names starting with "t".) - Enter only an asterisk
*
. This option will return all the roles under the selected domain.
- Click Search.
Editing a user role
Follow the instructions below to edit a user role:
- Sign into the WSO2 ES Management Console.
- On the Main menu, navigate to Users and Roles, and click List.
- Click Roles.
- Search for the role.
- To Rename the role:
- Click Rename.
- Enter the new name of the role.
- Click Finish.
- To edit the permissions of the role:
- Click the respective Permissions link.
- Select/De-select on the permissions that you wish to add/remove.
- Click Update.
- A confirmation message appears. Click OK.
- To assign users to the role:
- Click the respective Assign Users link.
- Select the users that you wish to assign to this role.
- Click Update.
- A confirmation message appears. Click OK.
- Click Finish.
Deleting a user role
Follow the instructions below to delete a user role:
- Sign into the WSO2 ES Management Console.
- On the Main menu, navigate to Users and Roles, and click List.
- Click Roles.
- Search for the role.
- Click on the corresponding Delete link.
- Click Yes to accept the confirmation request.