Step 11: User Management & Permissions

Control who can access your system and what they can do.

Why Access Control Matters

As your ControlBird deployment grows, you'll want to bring in team members: operators who monitor, engineers who configure, and administrators who manage the system. Each role needs different levels of access.

The Permissions Manager app lets you create users, assign roles, and define exactly what each person can see and do.

UsersIndividual accounts with login credentials
RolesGroups of permissions (Operator, Engineer, Admin)
PermissionsSpecific actions on specific resources

Opening Permissions Manager

Click the ControlBird logo in the taskbar and select Permissions Manager. You'll see tabs for Users, Roles, Permissions, and Sessions.

Permissions Manager app
Click to enlarge
The Permissions Manager with user list and role assignments

Understanding Roles

ControlBird comes with built-in roles that cover common use cases:

Viewer
  • See all data in real-time
  • View historical trends
  • See alarm status
  • Cannot make any changes
Operator
  • All Viewer permissions
  • Acknowledge alarms
  • Write to control points
  • Shelve/unshelve alarms
Engineer
  • All Operator permissions
  • Configure devices
  • Create automations
  • Modify historian settings
Administrator
  • All Engineer permissions
  • Manage users and roles
  • Configure system settings
  • Full access to all resources

Creating a New User

To add a team member to your system:

  1. Click the Users tab in Permissions Manager
  2. Click + New User in the toolbar
  3. Fill in the user details:
    • Username: Unique login identifier
    • Display Name: Friendly name shown in the UI
    • Email: For notifications and password recovery
    • Authentication: Native (password) or OAuth provider
  4. Assign one or more roles from the dropdown
  5. Click Create to save
Create user dialog
Click to enlarge
The new user form with role assignment

Authentication Options

ControlBird supports multiple authentication methods: native passwords, OAuth (Google, Microsoft, GitHub), and LDAP for enterprise directory integration. Choose based on your organization's identity management.

Assigning Roles

Users can have multiple roles. Permissions are additive: if a user has both Viewer and Operator roles, they get all permissions from both.

To modify a user's roles:

  1. Select the user in the list
  2. In the details panel, click Edit Roles
  3. Check or uncheck roles as needed
  4. Click Save

Creating Custom Permissions

Sometimes the built-in roles don't fit your needs. You can create fine-grained permissions that control access to specific resources:

Subjectjohn.doeWho gets this permission
+
ActionWriteWhat they can do
+
Resource/Devices/HVAC/*Which entities it applies to

For example, you might create a permission that allows:

  • HVAC Technician → Write → /Devices/HVAC/**
  • Night Shift → Read Only → /Devices/** (after hours)
  • Guest → Read Only → /Dashboard/Public/**

Wildcard Patterns

Use * to match any single segment and ** to match any depth. For example, /Devices/Floor1/* matches direct children, while /Devices/Floor1/** matches all descendants.

Session Management

The Sessions tab shows all active user sessions. This is useful for:

  • Seeing who is currently logged in
  • Revoking access immediately if needed
  • Auditing login patterns
UserIP AddressStartedLast ActiveActions
john.doe192.168.1.42Today 09:152 min agoRevoke
operator1192.168.1.55Yesterday 23:00Active nowRevoke

Best Practices

Use roles, not individual permissions

Roles are easier to manage and audit than per-user permissions.

Principle of least privilege

Give users only the permissions they need for their job function.

Review permissions regularly

As team members change roles, update their access accordingly.

Keep at least two admins

Ensure you're never locked out if one admin is unavailable.

Troubleshooting

A user can't see data they should have access to

Check these common causes:

  • Role assignment: Verify the user has the correct roles
  • Resource path: Check if the permission covers the entity path
  • Session refresh: User may need to log out and back in after role changes
  • Conflicting rules: A more specific deny rule may be overriding
I locked myself out of admin access

If you've accidentally removed your own admin role, another admin must restore it. If no admins remain, contact ControlBird support for emergency access recovery.

OAuth login isn't working
  • Verify the OAuth provider is configured in System Settings
  • Check that the user's email matches an existing account
  • Ensure your OAuth app has the correct callback URL

Coming Up Next

Ready for more? The next step covers advanced access control topics: fine-grained permissions with conditions, role hierarchy, areas of responsibility, and auditing.