The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
Hi all,
I've been playing around with the APIs as of late (thanks to BI Elite) and have been working on retrieving our Usage from the O365 Audit Logs, importing Dataset spefics from API (refresh history, refresh schedule) and now want to take it one step further.
From the Audit Logs, I can see who's been using reports, but what I would like / want / need is the ability to pull who a report has been shared with. We have a few workspaces with many reports in each and users are added directly to the report, not the workspace.
My idea is that if I can get an API call to retrieve who has access to a report, that I can then build a SharePoint site that provides links, descriptions, etc, based upon who's logged in. Let's not get to caught up on this idea, and think about if it's even possible to fetch the 'Shared with' list.
Thanks!
Jim Sorenson
There's more to this than you might think.
You can get workspace memberships from the audit logs (for v2 workspaces) and via Powershell (for v1 workspaces). But that doesn't tell you who the app is shared to, and also not who the individual datasets in the workspace are shared to. These are three independent (ish) data points that you will want to consider together for the full picture.
I am not aware of a programmatic way to get the latter two - personally I use screen scraping scripts to gather that information (and be horrified at the choice of default permissions - Reshare is evil.)
Thanks for the information.
I'd like to move to a model where we add reports to a workspace, then add users, but with the amount of reports we have that are shared across 'office functions,' that model becomes unmaintainable.
I'm the sole developer in our organization and I strictly prohibit the use of 'resharing' at the user level. If anyone wants access to a report, it has to be vetted before it comes to me. Especially with the advent of RLS, which requires adding them in two places.
I'd like to persue the screen scraping method, but I'm not familiar with how that's done.
In each workspace go to each dataset's "Manage Permissions" page and copy the information on that page into a text editor. Then do your transforms to bring it into useable format.