docs/main/administration-guide/onboard/delegated-granular-administration.mdx
Mattermost supports the creation and customization of system administration roles with specific granular permissions and System Console access. This allows senior administrators in large organizations to delegate and de-centralize specialized administration and administrative tasks with specific admin roles.
These admin roles permit granular access to specific areas of the System Console and related API endpoints. These roles enable users to perform certain administrative tasks without requiring access to all system administration areas. These system roles never supersede the user's original role or the user's permissions configured by the Permissions scheme.
<Warning>Even when a role is set to No Access or Read Only for a System Console page, granting Can Edit on any System Console page enables access to the underlying configuration endpoint (PUT /api/v4/config/patch). This means a user with write access in one area can modify configuration values across all areas. Administrators should assign Can Edit permissions with caution.
A system admin can configure the following delegated granular administration roles in the System Console. Each role has a set of default permissions, which can be adjusted as needed.
manage_shared_channels permission, allowing assigned users to share and unshare channels with existing connections to remote servers.When a user is assigned a system role, they have role-based access to the System Console and the underlying API endpoints. Each role has a different set of default permissions, and what users can access or view depends on the role they've been assigned.
The table below lists the default permissions for each role. Admins should carefully review and configure these settings to align with their organization's needs. Particular caution should be exercised with Permissions write access, as it enables modifications to the permissions of any role, except for the delegated granular administrator roles.
<table style={{width: '73%'}}> <colgroup> <col style={{width: '19%'}} /> <col style={{width: '20%'}} /> <col style={{width: '33%'}} /> </colgroup> <tbody> <tr> <td><strong>System role</strong></td> <td><strong>Read/Write access</strong></td> <td><strong>Read Only access</strong></td> </tr> <tr> <td>System Manager</td> <td><ul><li>User Management<ul><li>Groups</li><li>Teams</li><li>Channels</li><li>Permissions</li></ul></li><li>Environment</li><li>Site Configuration</li><li>Integrations</li></ul></td> <td><ul><li>Edition/License</li><li>Reporting</li><li>Authentication</li><li>Plugins</li></ul></td> </tr> <tr> <td>User Manager</td> <td><ul><li>User Management<ul><li>Groups</li><li>Teams</li><li>Channels</li></ul></li></ul></td> <td><ul><li>(User Management) Permissions</li><li>Authentication</li></ul></td> </tr> <tr> <td>Custom Group Manager</td> <td>Custom User Groups</td> <td>N/A</td> </tr> <tr> <td>Shared Channel Manager</td> <td>Shared Channels</td> <td>N/A</td> </tr> <tr> <td>Viewer</td> <td>N/A</td> <td><ul><li>All pages within the System Console</li></ul></td> </tr> </tbody> </table>There are two ways to assign roles:
System admins can grant read/write access to other areas of the System Console, as well as remove read/write access (including default access), for all system roles except the Custom Group Manager and Shared Channel Manager roles.
There are two ways to assign roles:
system_managersystem_user_managersystem_custom_group_adminsystem_shared_channel_managersystem_read_only_adminThis 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.
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.
Every change made by any admin is included in the audit log.
No. System Managers can't elevate their role, and aren't able to elevate other members' roles.
No, password information is only visible to system admins and is obfuscated for other roles.
Only roles that are explicitly granted access to System Console > Compliance have access to download compliance reports.
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.
No, but we are actively seeking feedback on this capability.
No, but we are considering this functionality for a future enhancement.
This is being considered for future development.
A System or User Manager can demote or deactivate another System or User Manager, but can't demote or deactivate a system admin.
Only the system admin has access to edit system roles.