Help build the future of open source observability software Open positions

Check out the open source projects we support Downloads

The actually useful free plan

Grafana Cloud Free Tier
check

10k series Prometheus metrics

check

50GB logs, 50GB traces, 50GB profiles

check

500VUk k6 testing

check

20+ Enterprise data source plugins

check

100+ pre-built solutions

Featured webinar

Getting started with grafana LGTM stack

Getting started with managing your metrics, logs, and traces using Grafana

Learn how to unify, correlate, and visualize data with dashboards using Grafana.

Managing access in Grafana: a single stack journey with teams, roles, and real-world patterns

Managing access in Grafana: a single stack journey with teams, roles, and real-world patterns

2025-09-08 6 min

When multiple teams use Grafana, it can start to feel a bit messy. Dashboards pile up, permissions become unclear, and teams accidentally overwrite each other’s work. 

To help you and your organization stay clear, collaborative, and secure, we recommend putting all users in a single Grafana Cloud stack and managing access with teams, roles, and folders. To illustrate this, I’ll share a hypothetical example of how you can put this into practice across three teams. 

Let’s dive in!

Three teams, one stack

Let’s imagine that it’s Monday morning, and I’m sitting down with my coffee ready to start the work day. In this hypothetical, I’m part of the observability team serving an engineering organization of 50 people, and my goal today is to set up Grafana for our various engineering teams. 

As part of this process, I want to reduce setup and maintenance work. I also want to make sure teams can access the right dashboards and data, avoid stepping on each other’s work, and still collaborate when needed. I do all of this in a single Grafana Cloud stack—no multi-stack complexity required.

In our setup, we have three teams:

  • Team A builds product features and needs autonomy with their own dashboards and data sources. 
  • Team B handles data engineering and needs autonomy with their own dashboards.  
  • Team C is our observability team (that’s us), and we act as admins of the Grafana stack.

Note: For the purpose of this blog post, we’ll focus on the steps you’d need to follow in Grafana Cloud. However, the same basic concepts can be followed in Grafana Enterprise. 

1. Create the stack

With a single stack, I get unified SSO, centralized configuration, and plugin management.  Equally important: Having everything under one stack means teams are not isolated in silos. They can discover each other’s dashboards, share work, and learn from one another. 

When everyone works in a single stack, collaboration becomes much easier. A dashboard built by one team can be shared directly with others, without duplicating it across stacks. Teams can choose to open specific folders or dashboards, encouraging re-use and cross-learning while still maintaining ownership of their own work.

Shared spaces, like an “Everyone” folder, make it simple to publish executive dashboards or cross-team metrics that all groups can benefit from. And because everything lives in one environment, users are easily set up to adapt when teams reorganize, collaborate across groups, or swarm together on new projects.

2. Create teams and their folders

I start by adding new users with the Viewer role by default. It’s a safe baseline: they can see everything, but they can’t change anything.  

Each team needs to be added to the same stack and to a Grafana Team. To do this, I create a folder for each team that they can manage and grant them the fixed:teams:read fixed role.  This means they can share items in their team folder with other teams, to encourage collaboration and learning from each other.

I upgrade Team C to the Admin role so that they can manage all resources in the instance.

To encourage creativity while keeping things tidy, I create a personal folder for each team member that they can manage for drafting content and then moving it into their team folder when ready.

Diagram showing Teams and folders in the stack, and the permissions Team A has been granted.
Teams and folders in the stack, and the permissions Team A has been granted

3. Design top-level folder structure

I will limit the number of top-level folders to keep things organized and secure. We will have an “Everyone” folder for shared items that all teams can manage, an “Admins” folder for sensitive content only we can access (Team C’s folder), and one folder per team.

This setup helps users quickly understand where to go, what they can access, and what they can manage.

Diagram showing teams and folders in the stack, and the related admin permissions Team A and Team B have been granted
Teams and folders in the stack, and the related admin permissions Team A and Team B have been granted

4. Configure data access 

Next, I focus on how teams interact with data. All teams forward metrics to a shared database tenant, but not everyone should see all of the data. I create one shared metrics data source and grant each team query access only to their slice of the data, based on label based access controls (LBAC) per team. This way, we maintain a central observability pipeline but still preserve data separation.

I grant the datasources:explorer fixed role to all teams so they can use the Drilldown app for easily exploring data sources.

Team A, however, needs to build and manage their own data sources for product-specific use cases. For them, I grant the datasources:creator fixed role so they can create and manage their own data sources independently.

Diagram showing teams and data sources in the stack, and the related permissions Team A and Team B have been granted
Teams and data sources in the stack, and the related permissions Team A and Team B have been granted

5. Consider non-folder resources and stack-wide permissions

Not all Grafana resources live in folders. Service accounts, alert contact points, Fleet Management collectors, and other feature resources are managed at the stack level. For these, I check the role options in the team management UI and assign fixed roles to teams carefully.

For example, I grant teams the Frontend Observability writer fixed role so that they can create and manage services.  

A diagram showing Frontend O11y resources in the stack, and the related permissions Team A have been granted.
Grafana Cloud Frontend Observability resources in the stack, and the related permissions Team A have been granted.

6. Scale it with Terraform and SSO

Once the model is working, I codify it. 

All new users get added from an Identity Provider through SCIM (I use Okta in this example). As they sync they are automatically assigned to the right team based on their Okta group membership. I use role sync logic to assign the Admin role for our team instead of the default, which I’ve set to the Viewer role.

I use Terraform to provision teams their folders, fixed roles, and shared datasource LBAC rules

Let’s say I need to add a new team called Team D.  Now I’ll only need to push new Okta groups to Grafana and run my Terraform script, and then they’ll automatically be set up and ready to start using Grafana.

A diagram showing the addition of Team D from Okta and automation of the rest of their IAM setup using Terraform
Add new Team D from Okta and automate the rest of their IAM setup using Terraform

Where to go from here

Getting access and permissions right in Grafana is one of the best ways to unlock its full potential. With the right structure in place, teams can collaborate more easily, stay secure without extra overhead, and build on each other’s work instead of starting from scratch. To really get a deeper understanding of these ideas, here are a few resources that can help.

Our least privilege custom role explainer blog walks through how to design roles that keep things simple and safe, so people have just the access they need. My LBAC for metrics data sources demo shows how you can give every team a clear view of their own data while still benefiting from a shared pipeline. And our introducing SCIM blog covers how to connect Grafana to your identity provider, making it easy to bring new users on board and keep permissions in sync as your organization grows.

Taken together, these resources will help you put the single-stack model into practice and set your teams up to get the very most from Grafana.

Grafana Cloud is the easiest way to get started with metrics, logs, traces, dashboards, and more. We have a generous forever-free tier and plans for every use case. Sign up for free now!