How to set up and manage user roles and permissions in Open edX?

Setting Up and Managing User Roles and Permissions in Open edX

Open edX provides a role-based access control (RBAC) system, allowing administrators to assign different roles to users, each with specific permissions. Below is a step-by-step guide to setting up and managing user roles and permissions.


1. Understanding Open edX User Roles

Open edX includes the following main user roles:

RolePermissions
LearnerCan enroll in courses, participate in discussions, and complete assessments.
Course StaffCan manage course content, moderate discussions, and track student progress.
InstructorCan manage assignments, grades, and send announcements.
Admin (Superuser)Full access to manage courses, users, and system-wide settings.
Discussion ModeratorCan moderate forums and manage flagged posts.
E-Commerce ManagerCan configure pricing, manage enrollments, and oversee transactions.

2. Assigning Roles in Open edX

A. Assigning Course-Specific Roles

  1. Log into Open edX LMS.
  2. Go to “Instructor Dashboard” → “Membership”.
  3. Add Users to Roles:
    • Enter the email address of the user.
    • Select a role (Instructor, Staff, Moderator).
    • Click “Add User”.

B. Assigning Platform-Wide Roles (Superuser/Admin)

  1. Log into Open edX Admin Panel (/admin).
  2. Go to “Auth → Users” and search for the user.
  3. Assign Superuser or Staff Status:
    • Click the user profile.
    • Check “Superuser Status” or “Staff Status”.
    • Save changes.

3. Managing Permissions for Custom User Groups

If you need custom roles, you can define Group-Based Permissions:

  1. Go to the Admin Panel (/admin) → “Auth → Groups”.
  2. Click “Add Group” and name it (e.g., “Course Reviewers”).
  3. Assign specific permissions (e.g., view course reports).
  4. Add users to the group under “Auth → Users”.

4. Managing Course Access Permissions

Restricting Access to Certain Features

  1. Go to “Advanced Settings” in Studio.
  2. Set: "RESTRICTED_COURSE_ROLES": ["staff", "instructor"]
  3. This limits certain course functions to only instructors or staff.

Enabling or Disabling Discussions for Specific Roles

  1. Navigate to Discussions → Manage Discussions.
  2. Set moderation privileges for course staff or moderators.

5. Monitoring User Activity and Role-Based Reports

  1. Go to Instructor Dashboard → Data Download.
  2. Download:
    • Enrollment Reports (for managing users).
    • Course Progress Reports (for tracking learner activity).

6. Automating Role Assignments (SSO Integration)

If using Google SSO or LDAP, you can automate role assignments:

  1. Enable Third-Party Authentication (lms.env.json): "ENABLE_THIRD_PARTY_AUTH": true
  2. Configure role-based group assignments for auto-enrollment.

7. Removing Users from a Course or Revoking Roles

  1. Go to Instructor Dashboard → Membership.
  2. Find the user and click “Remove” to revoke access.
  3. For platform-wide roles, go to Admin Panel → Users and uncheck the role.

Conclusion

By assigning the right roles and permissions, Open edX ensures secure access and efficient management of courses, instructors, and students. 🚀