Forum Discussion
Error getting embed token with row level security
Things that finally worked for us:
1) Had to give the service principal the permission "ReadOverrideEffectiveIdentity" by running Microsoft's rest api call with the datasourceId and the gatewayid.
see this link for more info:
The identifier used in the JSON BODY Request is not the Azure AD service principal object Id, turns out that there is a separate identifier for the service principal when it is added to powerBi workspace as an admin.
running a rest call to get users on the workspace/report would give the actual identifier.
*This is wierd as the documentation doesnot say that, but have raised this concern with microsoft.
2) After this, a normal call to get embed token along with effective identity works fine.
Incredible. Almost a year after your post, I ran into the same issue. Using the Microsoft sample app, the error was hidden from me. I only saw 403 Forbidden returned. Using Postman and APIs to generate an EmbedToken, I then saw the
"Creating embed token for accessing dataset..."
mentioned above. Your comment of "The identifier used in the JSON BODY Request is not the Azure AD service principal object Id, turns out that there is a separate identifier for the service principal when it is added to powerBi workspace as an admin." was finding a needle in a hay stack. You were right! Once I found the "identifier" of my service principal using the APIs against the Power BI Workspace, I updated the username in my sample app and bam! I finally executed a successful end to end request.