We prefer to have dashboards under source control so generate them using grafanalib - see https://www.weave.works/blog/grafana-dashboards-as-code/
I think this approach shifts the need for roles and permissions as we never save dashboards from the UI.
You can either create local link to a read-only version of what you're looking at right now. Whoever wants to access it, must be able to access the grafana host. Alternatively, you can upload the snapshot to the raintank site. I have just exported a snapshot of a panel on one of our dashboards, with only one of the panels' data, see https://snapshot.raintank.io/dashboard/snapshot/II7NYMU3v9vT... for an example. You can zoom in, but not further out.
You can also generate an iframe embed code (for a single panel), but if you want to share that in real-time publicly, you'd need to expose grafana to the public internet.
You can embed from a shared snapshot at raintank, as well. See the one above, if you click the title, you can 'Share' that and then embed it.
Such a useful tool.
It does take some training to get good at writing dashboards however. But it's free to try by either self-hosting it or with the personal plan on https://grafana.com. Highly recommended either way.
We use it, good experiences so far.