Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
Okay here we go. I hope this will help others trying who are trying to use Power BI Embedded (A skus) with Service Principal authentication to Embed for your Customers. Here are the steps I took to get to my problem, but the problem is in bold at the bottom if you want to skip ahead. If anyone can help me I will buy them a coffee. Seriously.
I have been struggling to get Power BI Embedded set up, starting with an A1 sku. My setup is to embed for customers using a service principal. The main resource I am using for the initial setup is https://learn.microsoft.com/en-us/power-bi/developer/embedded/embed-sample-for-customers?tabs=net-co....
I have finished every step at the link above using a service principal. After downloading the sample project in step 8, I am able to run the .NET core app with my service principal and see the sample report in my Power BI workspace. I also modified the sample report to make sure it is working correctly. That is rad, but displayed above the report is the "This is a free trial version, to remove this label a capacity must be purchased." No problem, let's check docs for the next step, Moving to Production.
Okay I need to assign my workspace to a capacity. Since I am using a Service Principal I need to use the Power BI Rest API, specifically this endpoint AssignToCapacity. For that I need my WorkspaceId and CapacityId. I found the WorkspaceId by opening app.powerbi.com to my workspace, and checking the URL for the guid. Alternatively I could have used the Groups API. Unfortunately that API link does not mention the authentication needed. To authenticate to that API you need to pass a Bearer token in the header. To get the token, make a GET request to https://login.microsoftonline.com/{{your_tenantId_here}}/oauth2/v2.0/token/. For the content type use "application/x-www-form-urlencoded". In the body make sure to pass:
Now I am running into a permission error with the Capacity API call. "The client '{guid}' with object id '{guid}' does not have authorization to perform action 'Microsoft.PowerBIDedicated/capacities/read' over scope '/subscriptions/{guid}/resourceGroups/{resourceName}/providers/Microsoft.PowerBIDedicated/capacities/{capacityName}' or the scope is invalid. If access was recently granted, please refresh your credentials." Now to figure out how to set the required permission...
Hi @Log4TurtleShell ,
I suggest you can open a support ticket to get more help, it's free.
https://powerbi.microsoft.com/en-us/support/
Best Regards
Community Support Team _ chenwu zhu
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
4 | |
3 | |
2 | |
2 | |
2 |