Forum Discussion

Shaamil's avatar
Shaamil
Regular Visitor
8 years ago

Programmatically grant user permission to a dataset

Hi, There are Power BI reports in my organization targeted for various users. Currently for the reports we grant access to users by going into The Wokspace, and selecting the datsets. From there we select security and add the AD user. A sample destination url where the  users are added would be something like https://app.powerbi.com/groups/{workspace-guid}/rowLevelSecurity/{group_id}

 

Is there a way that I can programmatically do this through the Power BI API ? So that I can add users to the selected dataset by passing the relevant AD user information. Planning to send the related data/request through a web site using C#.

 

If so, what approach should I take? I have currently created an "app registration" in Azure. I also had a look at the sample code at PowerBI-Developer-Samples. In this sample what confuses me is the resourceUrl which is passed at the code line

 

var authenticationResult = await authenticationContext.AcquireTokenAsync(ResourceUrl, ClientId, credential);

 

What should the resource link be? Is it the app registration's url in Azure ?  Azure seem to create a random url for the "app registration" such as  https://MycompanysDomain.com/80311e9d-c75f-4692-a513-ab36e55ba3ab which is not a valid URL

 

Please advise me on this. I am a complete newbie for this

7 Replies

  • Shaamil's avatar
    Shaamil
    Regular Visitor

    Hi, There are Power BI reports in my organization. Currently for the reports we grant access to users by going into The Wokspace, and selecting the datsets. From there we select security and add the AD user.

     

    Is there a way that I can programmatically do this through the Power BI API ? So that can add users to the selected datasheet by passing the relevant AD user information.

     

    If so, what approach should i take? I have currently created an "app registration" in Azure. I also had a look at the sample code at PowerBI-Developer-Samples . In this sample what confuses me is the resourceUrl which is passed at the code line

     

    var authenticationResult = await authenticationContext.AcquireTokenAsync(ResourceUrl, ClientId, credential);

     

    What should the resource link be? Is it the app registration's url? Azure seem to create a random url for it such as  https://MycompanysDomain.com/80311e9d-c75f-4692-a513-ab36e55ba3ab which is not a valid URL

     

    Please advise me on this. I am a complete newbie for this

  • Anonymous's avatar
    Anonymous
    Not applicable

    does anyone find a solution using API or c#, I need to add a new user and grant him admin/read permission on a specific workspace.

    • shyam7007's avatar
      shyam7007
      Regular Visitor

      Hi this can be done using ps script "Add-PowerBIWorkspaceUser -Scope Organization -Id $workspace.id -UserEmailAddress $Email_Id -AccessRight Admin "