Additional System Admin Roles
Available in legacy Mattermost Enterprise Edition E20
System Admins can assign system roles that permit granular user access to specific areas of the System Console. These roles enable users to perform certain administrative tasks without requiring access to all system administration areas. System roles never supersede the user’s original role or the user’s permissions configured by the Permissions scheme.
From Mattermost v5.28, System Admins can use the CLI to assign roles and privileges.
From Mattermost v5.30 and in Mattermost Cloud, System Admins can use the System Console to assign and manage roles and privileges.
From Mattermost v6.0, the CLI has been deprecated in favor of the mmctl command line tool.
A System Admin can configure the following system roles:
System Manager: The System Manager has read/write permissions for management areas of the System Console, such as user management and integrations (excluding permissions). This role has read only access to authentication, reporting, and license interfaces.
User Manager: The User Manager role is able to read/write to all the user management areas (excluding permissions). The authentication interface is read only.
Viewer: This role is able to view all pages of the System Console, but has no write access to any pages.
There are two ways to assign roles:
In the System Console under User Management > System Roles.
Using the mmctl tool.
When a user is assigned a system role, they have role-based access to the System Console. Each role has a different set of default permissions, and what users can access or view depends on the role they’ve been assigned.
System Manager
- Read/Write
User Management
Environment
Site Configuration
Integrations
- Read Only
(User Management) Permissions
Edition/License
Reporting
Authentication
Plugins
User Manager
- Read/Write
- User Management
Groups
Teams
Channels
- Read Only
(User Management) Permissions
Authentication
Viewer
- Read Only
All pages within the System Console
Assigning Admin Roles
System Admins can assign roles using the System Console or the mmctl tool. This can be done either locally or remotely.
In the System Console
Go to System Console > User Management > System Roles > Assigned People.
Using the mmctl tool
The format of the mmctl command is:
mmctl permissions role assign [role_name] [username...]
To grant the System Manager role to a single user called Bob Smith:
In the System Console
Go to System Console > User Management > System Roles then select the System Manager role.
Under Assigned People, choose Add People.
Search for and select
Bob Smith
, then select Add to grant the System Manager role to that user.Using the mmctl tool
The format of the mmctl command is:
mmctl permissions role assign system_manager bob-smith
To grant the User Manager role to two users, Bob Smith and Sue Clark:
In the System Console
Go to System Console > User Management > System Roles then select the User Manager role.
Under Assigned People, choose Add People.
Search for and select Bob Smith and Sue Clark, then select Add to grant the User Manager role to those users.
Using the mmctl tool
The format of the mmctl command is:
mmctl permissions role assign system_user_manager bob-smith sue-clark
To grant the Viewer role to two users, Bob Smith and Sue Clark:
In the System Console
Go to System Console > User Management > System Roles then select the Viewer role.
Under Assigned People, select Add People.
Search for and select Bob Smith and Sue Clark, then select Add to grant the Viewer role to those users.
Using the mmctl tool
The format of the mmctl command is:
mmctl permissions role assign system_read_only_admin bob-smith sue-clark
To remove the System Manager role from a single user called Bob Smith:
In the System Console
Go to System Console > User Management > System Roles then select the Viewer role.
Under Assigned People search for Bob Smith, then select Remove.
Using the mmctl tool
The format of the mmctl command is:
mmctl permissions role unassign system_manager bob-smith
Editing Privileges of Admin Roles (Advanced)
Each of the admin roles have defined, default privileges as outlined above.
System Admins can grant read and write access to other areas of the System Console, as well as remove read and write access (including default access), for each role. This is completed using the System Console or the mmctl tool, either locally or remotely.
In the System Console
Go to System Console > User Management > System Roles then select the System Manager, User Manager, or Viewer role.
For each set of privileges, select the access level as Can edit, Read only, or No access.
Note: If you set privilege subsections to different access levels then the privilege access level displays as Mixed Access.
Using the mmctl tool
The format of the mmctl command is:
mmctl permissions add [role_name] [permission...]
To grant write access to the Authentication section of the System Console for all users with the User Manager role:
In the System Console
Go to System Console > User Management > System Roles then select the User Manager role.
Under Privileges > Authentication select Can edit, then select Save.
Using the mmctl tool
The format of the mmctl command is:
mmctl permissions add system_user_manager sysconsole_write_authentication
To grant read only access to the Authentication section of the System Console for all users with the User Manager role:
In the System Console
Go to System Console > User Management > System Roles then select the User Manager role.
Under Privileges > Authentication select Read only, then select Save.
Using the mmctl tool
The format of the mmctl command is:
mmctl permissions remove system_user_manager sysconsole_read_authentication
To remove write access to the Authentication section of the System Console for all users with the User Manager role:
In the System Console
Go to System Console > User Management > System Roles then select the User Manager role.
Under Privileges > Authentication select No access, then choose Save.
Using the mmctl tool
The format of the mmctl command is:
mmctl permissions remove system_user_manager sysconsole_write_authentication
To reset a role to its default set of permissions:
This is completed using the mmctl tool only, either locally or remotely.
The format of the mmctl command is:
mmctl permissions reset [role_name]
For example, to reset the permissions of the system_read_only_admin
role:
mmctl permissions reset system_read_only_admin
Admin Roles and Privileges
Roles
system_manager
system_user_manager
system_read_only_admin
Privileges
System Console Section |
Permissions |
---|---|
About |
|
Reporting |
|
User Management |
|
Environment |
|
Site Configuration |
|
Authentication |
|
Plugin |
|
Integrations |
|
Compliance |
|
Experimental |
|
Frequently Asked Questions
Can a User Manager or System Manager reset an administrator’s email or password without their knowledge?
This is not possible with the default privileges of these roles. The ability to reset passwords or email addresses of administrators is limited to System Admins.
Can a User Manager or System Manager access the configuration file?
Yes. However, they will only have access to read actual values and modify values in accordance with their permissions. If appropriate read permissions do not exist, the default key values will be displayed.
Can a System Manager change their own permissions or elevate their role?
No. System Managers can’t elevate their role, and aren’t able to elevate other members’ roles.
Can any of the new roles view API keys/passwords or other sensitive information within the System Console (such as SMTP, AWS, Elastic Search)?
No, password information is only visible to System Admins and is obfuscated for other roles.
If download links for compliance exports are enabled in the System Console, can a Read Only Admin download the reports?
Only roles that are explicitly granted access to System Console > Compliance have access to download compliance reports.
Can any of the new roles force-join Private channels?
Yes at this time they can, however, we will be improving on this behavior in the future with a prompt that lets them know they are entering a private channel. We are also planning on adding a permission which would remove the ability to access Private channels.
Can I create a new role or clone an existing role?
No, but we are actively seeking feedback on this capability.
Can I use an LDAP filter to assign these roles?
No, but we are considering this functionality for a future enhancement.