Sharing Azure Portal Dashboards

 
azure remoteapp
This post will explain how you can share the customizable experience of the Azure Portal with other administrators and delegated administrators of your subscription.
 

 

Customizable Dashboards

One of the Azure administrator “life hacks” is to create customized dashboards. I typically create one of these for every application, lab, or demo environment that I’m working with. I will pin shortcuts to the resource group(s), critical resources, and I will also pin critical Azure Monitor metrics. When I am working on something, I’ll switch to that dashboard and I’ll have the handy shortcuts and critical information right in front of me without having to go look for it.

A custom Azure dashboard for my Azure File Sync lab [Image Credit: Aidan Finn]
A Custom Azure Dashboard for My Azure File Sync Lab [Image Credit: Aidan Finn]
 
If you are working in a team, or you are enabling other people that have delegated rights to resources in Azure, then a useful thing to do is to share these dashboards with other users. I’ll show you a few ways that you can do that in this article.

Export/Import

A recent unheralded addition to the Azure Portal was the ability to export or import a customized dashboard. There are Export and Import buttons at the top of the dashboard. If you click Export, a save action will start in your browser and the configuration of the current dashboard will be saved to your computer as a JSON file.

A snippet of a customized Azure dashboard [Image Credit: Aidan Finn]
A Snippet of a Customized Azure Dashboard [Image Credit: Aidan Finn]
 
If your keen enough, you could always write a dashboard using JSON. It might be quicker to create it in the Azure Portal!
You can share this file with other administrators or delegated users of the subscription. They can click Import in the portal and upload this file to use it as their own independent copy. They can then customize without changing your own copy of the dashboard.

Dashboard Sharing

Another option is to live share your current dashboard with others, via a resource group. Any changes to the dashboard would be also shared with others. You can set permissions on the dashboard to prevent unwanted additional sharing or changes.
To share the dashboard, click Share at the top of the dashboard. A popup blade will appear and ask how you want to share the current dashboard:

  • What name you will share it as
  • What subscription in the current tenant you will share it in

Sharing a dashboard in the Azure Portal [Image Credit: Aidan Finn]
Sharing a Dashboard in the Azure Portal [Image Credit: Aidan Finn]
 
Note that the sharing is controlled using normal Azure role-based access control (RBAC). When you finish the sharing process, a new resource will be created in a resource group. Anyone that has sufficient permissions to the resource will be able to access the dashboard up to the levels of their permissions.
A checkbox is at the bottom of the above dialog, asking if you want to publish the dashboard to a resource group called “dashboards”. You can use a different resource group name. Simply clear the checkbox and enter a name in the field that appears.
Click Publish and the dashboard will be saved. It is then accessible to other users.
Note that other users won’t see this new dashboard straight away if they are already signed in. They will have to hit refresh in any browser tabs that the Azure Portal is open in to see the new dashboard.

Shared Dashboard Permissions

Anyone with suitable permissions over the subscription (contributor or owner) will be able to access the shared dashboard. But what if you have users with delegated rights? For example, there is a non-owner with rights over a resource group and it’s contained resources. You can also grant these users access to your dashboard. There are two ways. The first is to edit the resulting dashboard resource. But the other way is to (confusingly) click Unshare at the top of the dashboard in question. A popup blade will appear and you can click Manage Users to manage the permissions over the dashboard.

Click Manage Users to access the permissions over the shared Azure Portal dashboard [Image Credit: Aidan Finn]
Click Manage Users to Access the Permissions Over the Shared Azure Portal Dashboard [Image Credit: Aidan Finn]
 
A Users blade will open. Click Add and here, you can add a user or (preferably) a group that you want to grant rights to the dashboard. In my case, I will share with a  user (you really should share with a group) called User1. Note that in my example, User1 is only getting read rights; they can use the dashboard but that cannot make any changes. Select a role, and search for and select a user and group to share the dashboard with.
Delegating permissions to a shared Azure Portal dashboard [Image Credit: Aidan Finn]
Delegating Permissions to a Shared Azure Portal Dashboard [Image Credit: Aidan Finn]
 
If that user signs into the Azure Portal or refreshes any existing Azure Portal browser tabs, they will see the shared dashboard.
A delegated user accessing a shared Azure Portal dashboard [Image Credit: Aidan Finn]
A Delegated User Accessing a Shared Azure Portal Dashboard [Image Credit: Aidan Finn]
 
If this delegated user with read-only rights attempts to edit the dashboard, they will not be able to make changes that impact other users. They will be forced to save a copy for themselves.
This shared Azure Portal is read-only [Image Credit: Aidan Finn]
This Shared Azure Portal Is Read-Only [Image Credit: Aidan Finn]

Summary

Custom dashboards in the Azure Portal can be a great tool for making more of an Azure subscription. Microsoft has provided a couple of easy ways to share any useful dashboards that you create and this includes being able to share dashboards with different permissions levels using native RBAC techniques.