Dont pass variables via URL

we would like to use Grafana for multiple customers and support groups.
We would like to avoid creating teams and multiple dashboards since every customer/sg should get the same dashboard.
Is it possible to use variables that can not be changed via URL or in any other way. In this case we could create a scope “query variable” for the user_id that contains the allowed customers.

Or is there any other possibility to achieve this?



There must be something I don’t undertand about your question, because you

“every customer/sg should get the same dashboard.”

Surely that simply means you give them all the same URL and they all get the
same thing?

What are you trying to do which means this isn’t the simplest solution?


I probably should have been more detailed, sorry.

Here’s the scenario I could imagine.
There are 2 dashboards. The first dashboard shows all customers for which the employee is authorized. Simple query with the ${} variable.

With a drill down the user would now have the option to click on a customer (based on the customer id) to get to the customer dashboard. Here all necessary information for the customer is displayed. But if I change the URL variable customer_id, the user would also see data of customers he is not authorized for. If he wouldnt be able to change the variable, i could avoid to create teams and seperate dashboard permissions.

Hope it is more understandable now

check this thread out. What are you are looking for is called access control list

Thanks for you reply.
If I understand this correctly, I should include the UserID in each panel and use a join to check if the user is authorized for that company. This probably does not work with every data source and slows down queries enormously if there are many customers and users in a lot of panels.

That was just one example of how you could do it to demo the principle, performance issues was not a consideration as it was just an example.