Preventing accidental modifications is critical when your operational dashboards serve multiple teams. If an engineer or stakeholder accidentally alters a production panel query or deletes a critical visualization, incident response slows down. You need to lock down panel configurations so only designated maintainers can push updates.
Grafana handles this through role-based access control (RBAC), folder-level permissions, and configuration file settings. Whether you're running open-source Grafana or Grafana Enterprise, you can restrict write access to dashboards using several distinct methods depending on your exact version and deployment setup.
Understanding Grafana Access Control Levels
Grafana separates access management into three main layers. Understanding how these layers interact prevents you from locking yourself out or failing to restrict standard users.
Folder permissions act as the primary boundary. In modern Grafana instances, dashboards live inside folders. By default, any user with Editor privileges in an organization can create and modify dashboards within any folder. Setting explicit folder permissions allows you to restrict edit and admin rights to specific teams or individual service accounts while leaving other folders open or view-only. Experts at Bloomberg have provided expertise on this trend.
Organization roles dictate baseline privileges across the entire instance. Every user belongs to an organization with a specific role: Admin, Editor, or Viewer. Users assigned the standard Editor role can modify any dashboard they can see, unless folder permissions or configuration overrides restrict them. Downgrading trusted team members to Viewer stops them from editing entirely, but it also strips their ability to create new dashboards or manage alerts.
Configuration file overrides offer a system-wide safety net. You can modify your main initialization file to change default editor behaviors or enforce strict organization-wide viewing restrictions.
Method 1: Restricting Dashboard Edits via Folder Permissions
Managing permissions at the folder level is the cleanest way to disable dashboard editing for specific groups without altering global user roles. This approach works exceptionally well in multi-tenant environments or large engineering teams.
- Log in to your Grafana instance using an account with Administrator or Folder Admin privileges.
- Navigate to the left-hand sidebar, click the Dashboards icon, and select Manage or click directly on the folder containing the dashboards you want to lock.
- Click the gear icon or select Folder permissions from the folder menu.
- Locate the existing permission assignments. By default, you'll likely see
Editorslisted withEditpermissions andViewerswithViewpermissions. - Click Add permission to assign specific rules for teams or individual users.
- Select the target user group, team, or specific user from the dropdown menu.
- Set the permission level to View instead of Edit or Admin.
- Remove or downgrade the broad
Editorspermission entry if you want to block general editing for that specific folder. - Click Save to apply the updated access control rules.
Once saved, any user affected by the restricted rule will see the dashboard controls in read-only mode. The save button disappears, and panel configuration menus gray out.
Method 2: Enforcing Global Viewer Roles for Standard Users
If your goal is to stop non-technical stakeholders or general operators from touching any panel configuration across the entire server, adjusting individual user roles is the fastest route.
- Open your Grafana sidebar, navigate to Administration, and select Users.
- Find the user account you want to restrict from the list.
- Click on the username to open their profile and access their organizational role settings.
- Locate the In Organization role dropdown field.
- Change their role from
EditortoViewer. - Click Save to commit the change.
A user assigned the Viewer role can inspect metrics, change time ranges, filter template variables, and toggle panel legends, but they cannot save changes to any existing dashboard or create new ones.
For automated provisioning or bulk user management, you can define default user roles inside your main configuration file. Open your configuration file and locate the users section to set the default role:
[users]
default_theme = dark
auto_assign_org = true
auto_assign_org_role = Viewer
Setting auto_assign_org_role to Viewer ensures that every newly provisioned user account starts with read-only access by default. You can read more about user management in the Grafana Administration Documentation.
Method 3: Locking Dashboards via Provisioning
Production dashboards managed as code should never be editable through the web UI. Grafana allows you to provision dashboards from local disk files or Git repositories. Provisioned dashboards are automatically locked in the user interface to prevent manual drift.
To provision a read-only dashboard, create a provisioning configuration file in your server directory, typically located at /etc/grafana/provisioning/dashboards/dashboards.yaml:
apiVersion: 1
providers:
- name: 'Core Operations'
orgId: 1
folder: 'Production'
type: file
disableDeletion: false
editable: false
options:
path: /var/lib/grafana/dashboards
Setting editable: false forces Grafana to render the dashboard in a strictly read-only state. Even users with Organization Administrator roles won't be able to save modifications made directly inside the web browser for any dashboard loaded through this provider. Any updates must go through your version control pipeline.
For deep dives into automated setup workflows, consult the Grafana Provisioning Guide.
Common Mistakes to Avoid
Administrators often make a few common errors when locking down monitoring environments.
Don't rely solely on hiding the Grafana UI navigation elements. While you can customize Grafana's configuration to hide specific menu items, clever users can still access editing endpoints if their underlying role permissions remain set to Editor. Always enforce restrictions at the role, folder, or provisioning layer.
Another common pitfall is forgetting service accounts and API keys. If your automation scripts or external tools use an API key tied to an Admin or Editor account, unintended updates can still occur programmatically. Audit your API keys regularly and issue restricted tokens with precise scopes.
Frequently Asked Questions
Can I disable dashboard editing for just one specific dashboard?
Yes. Instead of changing global roles, create a dedicated folder for that dashboard, move the dashboard into it, and configure folder-level permissions to grant view-only access to your general team while reserving edit rights for administrators.
What happens to active user sessions when I change their role?
Users must refresh their browser window or log out and log back in for role changes made by an administrator to take full effect across their active web session.
Does setting editable to false in provisioning break alerts?
No. Alert rules can still be evaluated and triggered normally when a dashboard is marked non-editable via provisioning files. However, users cannot modify alert thresholds directly from the dashboard panel UI.
Can viewers export dashboard JSON if editing is disabled?
Yes. Viewers with read access can still view and copy the dashboard JSON model for debugging or local backup purposes, unless you explicitly restrict JSON export permissions through advanced role-based access control policies available in Grafana Enterprise.