Manage Groups and Roles with WSO2 Identity Server-5.11.0 onwards
Cheatsheet for Groups and Roles SCIM requests
Groups and Role Separation
Prior to WSO2 Identity Server (IS)-5.11.0, both groups and roles were considered as roles in the server. They were managed either roles section in the
management console or
SCIM2.0 /Groups endpoint.
Even though we supported both Groups and Roles together those two terms have different meanings when comes to computer science security.
Group — A collection of users.
Role — A collection of rights/permissions. The roles can be assigned to groups/users. The roles assigned to a group will be transitively applied to all users in the group too. The users inherit the permissions once they work under a particular role.
The same meaning is applicable for the Group vs Role separation in WSO2 IS-5.11.0.
However, groups in WSO2 IS are considered as a group in a userstore. In other words, a group can have only the users in that particular userstore to which group belongs. Roles in the new model can be mapped to
hybrid roles in the earlier model.
Relationship with Users-Groups-Roles-Permissions
- A user can belong to zero or many(multiple) groups.
- A group can have zero or many(multiple) users.
- A group can have zero or many(multiple) roles.
- A role can be assigned to zero or many(multiple) groups.
- A user can have zero or many(multiple) roles.
- A role can be assigned to zero or many(multiple) users.
- A role can have zero or many(multiple) permissions.
- A permission can be assigned to zero or many(multiple) roles.
Implementation related to this feature can be found at https://github.com/wso2/product-is/issues/8123
Here I’ll gather the most important SCIM requests to manage Groups and Roles in WSO2 IS.
NOTE: Change the hostname, port, authorization header value, group/role/user ids as per your setup
1. SCIM requests to manage Groups
1.1 Create a group without members
1.2 Create a group with members
1.3 Assign a member to the group
1.4 Remove a member from the group
- Specify the member who needs to be removed by user id
- Specify the member who needs to be removed by username
1.5 List all groups
- List all groups including all details of every group
- List all the groups excluding members details
1.6 Retrieve only specific group by id
1.7 Search groups
- Search groups that contain “eng” in their name. Also, only need to return the display names of those groups.
- Using GET request:
- Using POST request:
1.8 Delete a group
2. SCIM requests to manage Roles
Since Role Resource is a custom resource for WSO2 IS, I’ll brief its’ attribute characteristics here.
2.1 Create a role without users/groups/permissions
2.2 Create a role with users, groups and permissions
2.3 Assign a user to the role
2.4 Assign a group to the role
2.5 Remove a user from the role
- Specify the user who needs to be removed by user id
- Specify the user who needs to be removed by username
2.6 Remove a group from the role
- Specify the group that needs to be removed by user id
- Specify the group that needs to be removed by group’s name
2.7 Update permissions of the role
- Adding/ Removing permissions are not allowed. Only
replaceoperation is supported to update permissions of a role.
2.8 List all roles
2.9 Retrieve only specific role by id
You can specify which attributes need to be returned using
attributes param or
2.10 Search roles
- Using GET request
- using POST request
2.11 Delete a role
From here you can download all these requests as a postman collection: https://app.getpostman.com/run-collection/cc7c5854cdd5ec041562
What Has Changed - WSO2 Identity Server Documentation
WSO2 Identity Server 5.11.0 brings a range of new features and major improvements. The following aspects have changed…
SCIM 2.0 - WSO2 Identity Server Documentation
Click to view Follow the instructions given below to try out the REST APIs with your local instance of WSO2 Identity…
Internet Engineering Task Force (IETF) P. Hunt, Ed. Request for Comments: 7643 Oracle Category: Standards Track K…