Skip to main content

Permission System

PBS Knowledge uses a role-based access control (RBAC) system combined with group-based permissions to control who can access and modify data.

Permission Model

Layers of Access

Access is determined by three layers:

  1. Base Role - Assigned at login (student, faculty, staff, admin)
  2. Group Membership - Additional permissions through groups
  3. Resource Ownership - Control over your own data

Permission Hierarchy

Full System Access (Admin)

├── Department Admin
│ ├── Manage People
│ ├── Manage Degrees
│ └── Manage Groups

├── Faculty
│ ├── View Students
│ ├── Manage Own Profile
│ └── Approve Milestones

└── Student
├── View Own Data
└── Edit Own Profile

Base Roles

Role Definitions

RoleDescriptionDefault Permissions
adminSystem administratorsFull system access
facultyTeaching/research facultyView students, manage profile
staffDepartment staffManage profiles
studentCurrent studentsView/edit own data
userAuthenticated without roleMinimal access

Role Assignment

Roles are assigned:

  • Automatically from Dartmouth SSO attributes
  • Manually by administrators
  • Through group membership

Available Permissions

Core Permissions

PermissionDescription
full_system_accessComplete administrative access
manage_profilesEdit any person's profile
manage_groupsCreate and modify groups
manage_degreesConfigure degree requirements
manage_programsAdminister academic programs
manage_coursesCourse and section management
manage_publicationsPublication administration
manage_email_systemEmail template management
access_undergraduate_dataView undergraduate records
access_graduate_dataView graduate records

Permission Checking

The system checks permissions in order:

  1. Is user an admin? → Full access
  2. Does user have specific permission? → Granted
  3. Is user in a group with permission? → Granted
  4. Is user the resource owner? → Limited access
  5. Default → Denied

Groups

What Are Groups?

Groups are collections of users with shared permissions:

  • Department Committees - Curriculum, admissions
  • Program Groups - PhD program, honors program
  • Administrative Units - Front office, advising
  • Research Groups - Labs, centers

Group Structure

Each group has:

  • Name - Identifying name
  • Description - Group purpose
  • Members - Users in the group
  • Chair - Group leader (optional)
  • Permissions - Granted permissions
  • Status - Active or inactive

Group Permissions

Groups can be assigned any combination of permissions:

Undergraduate Committee
├── access_undergraduate_data
├── manage_degrees
└── manage_email_system

Managing Groups

Creating a Group

  1. Navigate to AdminGroups
  2. Click Create Group
  3. Enter group details:
    • Name
    • Description
    • Active status
  4. Add initial members
  5. Assign permissions
  6. Save

Adding Members

  1. Open the group
  2. Go to Members tab
  3. Click Add Member
  4. Search for the person
  5. Select their role in the group
  6. Click Add

Group Roles

Members can have roles within groups:

RoleCapabilities
ChairFull group management
MemberReceives group permissions
ObserverView-only access

Assigning Permissions

  1. Open the group
  2. Go to Permissions tab
  3. Check permissions to grant
  4. Save changes

Special Access

Resource Ownership

Users always have access to:

  • Their own profile
  • Their own publications
  • Their advisees (for faculty)
  • Their academic data (for students)

Inherited Permissions

Some permissions are inherited:

  • Lab PI → access to lab data
  • Thesis advisor → access to advisee thesis
  • Course instructor → access to enrolled students

Auditing

Permission Audit Log

Administrators can view:

  • Permission changes
  • Group membership changes
  • Access attempts
  • Administrative actions

Viewing Audit Log

  1. Go to AdminSystemAudit Log
  2. Filter by date, user, or action type
  3. Export for compliance reporting

Best Practices

Least Privilege

  • Grant minimum necessary permissions
  • Use groups rather than individual grants
  • Review permissions regularly
  • Remove access when roles change

Group Management

  • Create groups for natural organizational units
  • Keep group membership current
  • Document group purposes
  • Review group permissions annually

Troubleshooting

Access Denied

If a user can't access something:

  1. Check their base role
  2. Verify group memberships
  3. Confirm required permission
  4. Check resource ownership
  5. Review audit log for denials

Permission Not Working

If granted permission isn't working:

  1. Ensure user signed out and back in
  2. Check permission is assigned correctly
  3. Verify no conflicting group membership
  4. Contact administrator for assistance