Forum Discussion
Powerbi Reports using SPN
Hi there,
I'm trying to report on all workspace's, DataSets associated to a datasource in our tenant.
We setup an spn with Tenant.Read.All delegated api permissions.
The Allow service principals to use Power BI APIs is enabled for the security group that the app is a member of.Created a client secret as well as certificate.We are able to connect using Connect-PowerBIServiceAccount to
'however no data is returned.
When connecting using my account, i'm able to output the workspace that my account is a member of.
So i'm not sure if im missing other permissions to the workspaces.
5 Replies
- d_gosbellSuper User
What API are you trying to call? Some APIs like this https://learn.microsoft.com/en-us/rest/api/power-bi/admin/workspace-info-get-scan-result#:~:text=Must%20not%20be%20present%20when%20authentication%20via%20a%20service%20principal%20is%20used. one explicity state that Tenant.Read.All must not be set when using an SPN. So you should check the docs for the API you are trying to call.
- AnonymousNot applicable
Thanks d_gosbell
We are trying to report on all workspace, dataset's anddatasource.I looked writing this in powershell with admin access, it does seem that I need workspace access?Any thoughts on the best approch.Very new to powerbiMany thanks
- d_gosbellSuper User
So that API says here that it requires the Workspace.Read.All permission, but then this API only returns workspaces that the SPN has access to.
If you want all workspaces you should probably look at using this API https://learn.microsoft.com/en-us/rest/api/power-bi/admin/groups-get-group-as-admin instead.
- AnonymousNot applicable
Thanks, it's limited however. You need to enter a groupID (workspace id). It doesn't allow to expand the search.
for example, you can't add $top=500 parameter to call the workspaces for example.
- d_gosbellSuper User
Sorry, that was the API for a single group, but this one gets multiple groups https://learn.microsoft.com/en-us/rest/api/power-bi/admin/groups-get-groups-as-admin