Users, Groups & Permissions Overview
Understand how users, groups, and permission rules work together to control who can access what in the platform.
The platform uses three-tier model to control access:
Users → Groups → Permissions
- Users are individual accounts — your content authors, reviewers, administrators, and students. Users can be part of a Group.
- Groups are named collections of users. Instead of configuring access for each user individually, you configure it once on the group and all members inherit it.
- Permissions are rules that define what actions a group is allowed or denied on specific resources or services.
# How Permissions Work
Permissions are based on rules. Each rule describes which action can be taken on what resources by whom? More details here:
| Part | What it means |
|---|---|
| Permission | Either Allow or Deny |
| Action | The operation being allowed or denied (e.g., create, edit, delete, view, etc.) |
| Resource | The specific resource type being controlled (e.g., question-bank, question-paper, tags) |
| Service | Which part of the platform (e.g., the testmaker or core service) the rule applies to |
If no explicit rule exists, access is controlled by default permissions defined by system.
Tip: To match "any" resource/action, you can use wildcard
*. For resource*means "any resource", and*for action means "any action". We can also sayQUESTIONS.*means all actions related to questions. An example: single rule withresource=*,action=QUESTIONS.*, andpermission=Allowgrants full access to all question operations.
# Default Setup
3 Groups Admin, Content writer and Student comes with your account. It has following permissions by default:
# Admin Permissions
| Service | Resource | Action | Permission | Effect |
|---|---|---|---|---|
| CoreService | * | GROUPS.* | ALLOW | Allows any action on any group |
| CoreService | * | PERMISSIONS.* | ALLOW | Allows to change permissions |
| CoreService | * | USERS.* | ALLOW | Allows any action on any user |
| TestMaker | * | * | ALLOW | Allows any action on any resource (Tags, Tag Groups, Tag Hierarchies, Questions, Question Papers) |
# Content writer Permissions
| Service | Resource | Action | Permission | Effect |
|---|---|---|---|---|
| CoreService | * | * | DENY | Deny any action, unless explicitly allowed. |
| CoreService | * | USERS.VIEW | ALLOW | Allows to view users |
| TestMaker | * | * | DENY | Deny any action, unless explicitly allowed. |
| TestMaker | * | TAG_GROUP.VIEW | ALLOW | Allows viewing Tag Groups |
| TestMaker | * | TAG.VIEW | ALLOW | Allows viewing Tags |
| TestMaker | * | TAG_HIERARCHY.VIEW | ALLOW | Allows viewing Tag hierarchies |
| TestMaker | * | COURSE.VIEW | ALLOW | Allows viewing Courses |
| TestMaker | * | QUESTIONS.* | ALLOW | Allows any action on Questions |
| TestMaker | * | QUESTION_PAPERS.* | ALLOW | Allows any action on Question Papers |
# Student Permissions
| Service | Resource | Action | Permission | Effect |
|---|---|---|---|---|
| CoreService | * | * | DENY | Deny any action, unless explicitly allowed. |
| TestMaker | * | * | DENY | Deny any action, unless explicitly allowed. |
| TestMaker | * | TAG_GROUP.VIEW | ALLOW | Allows viewing Tag Groups |
| TestMaker | * | TAG.VIEW | ALLOW | Allows viewing Tags |
| TestMaker | * | TAG_HIERARCHY.VIEW | ALLOW | Allows viewing Tag hierarchies |
| TestMaker | * | COURSE.VIEW | ALLOW | Allows viewing Courses |
| TestMaker | * | QUESTIONS.VIEW | ALLOW | Allows viewing Questions |
| TestMaker | * | QUESTION_PAPERS.VIEW | ALLOW | Allows viewing Question Papers |
| TestMaker | * | QUESTIONS_PAPERS.ATTEMPT | ALLOW | Allows attempting Question Papers |
You can change these permissions anytime. But it is recommended that if you wish to have some other roles, please create a new group and assign the permissions over there.
# Default workflow to setup users, groups and permissions
- Create Groups — Ideally default roles are good, but you can define roles of your choice (e.g.,
Content Authors,Reviewers,Administrators). For better management of students, create one group for each course. - Create Users — add user accounts and assign them to them
Studentand their course group. - Assign Courses to Groups — If your courses are not already created, create them. Then assign course to their groups.
- Assign Permissions to Groups — If you are creating new Groups (except groups for courses), configure what each group can do.
# Getting Started
-
Managing Groups — Create groups, assign courses and permissions to groups
-
Managing Users — Create, edit, block/unblock, and remove user accounts, assign users to groups
-
Managing Permissions — Add, edit, and remove permission rules for groups