Often I have seen Power BI users have access to the areas that they shouldn’t. In Power BI, you can share a report with a user just for view only, or give them access to view and built, or to Edit. These are all different levels of access. Build access is the one that is often is confused with Edit. In this article and video, I’ll explain the difference between these two access levels for Power BI datasets.
Build access example
One of the easiest ways to explain the difference between EDIT and BUILD access levels is through an example of building a Power BI report on top of an existing dataset. If you get data from a Power BI dataset, you are building a new report (or even a new dataset) on top of the existing dataset.
The user below when using Get data from Power BI dataset, has access to some datasets;
The user above sees all the datasets with movies in their name. The highlighted dataset, as an example, is a dataset that is shared with the user with View and BUILD access;
If we remove the build access from the user;
Then the user has no access to that dataset when building report or new content.
As you can see in the above simple example, removing the Build access from the dataset means that the user has no longer access to build any new content on top of that dataset.
Are Build and Edit the same? A row-level security example
Now that you know what the Build access level is, let’s see if the Build and Edit access levels are the same? The short answer is no. They are not. Let me show that to you through a row-level security example.
The below report is a report on top of a dataset with RLS (row-level security) configuration defined:
If I have a user with View and Build access on a dataset, then a report that that user build is dependent on his/her access to the roles configured in the dataset level.
This user, if built a report on top of that dataset, will see something like this:
As you can see, the user can see only part of the data that he/she is allowed to see. If this user had Edit access on that dataset, then all the data would be visible to him/her.
The difference between Build and Edit is not just on the RLS, it is also for editing the content. When a user has Edit access on a dataset, then that user can CHANGE or DELETE the content. But the user with Build and View access can only build a new content on top of that dataset, and cannot change the original.
The point above is very important, because there are different types of users for Power BI content, and you should not give someone access to something more than what they need.
How to provide Build but not the Edit access?
To give a user Edit access on a dataset, you can give them a proper level of access to the workspace as I mentioned here. There are different methods to provide Build and View access, but not Edit access. Here are some of the most common:
Manage Permissions: Add Build access
On a given dataset, you can choose the manage permissions option.
In the manage permissions setting, you can either add a user with the permission of build and view or add a permission to an existing user in the list. You can remove the build permission in the same place too.
Create App with Build access
Another common way of providing a build access to a user is to enable it at the time of creating an app.
In the Permissions tab of the app creation wizard, you can choose if the users can have a Build permission or not.
This will create a build access in the permission of the dataset;
Providing access through the Power BI app is my recommendation. However, The problem of giving access through the app is that you cannot give some users Build access and some not. Because you need to create two different apps for that, and you cannot create two apps at the moment for one workspace (it might change in the future). If that is the scenario you are after (giving some app users build access, and some not), then uncheck the option at the time of creating the app, and give the access through Manage permission (the first method mentioned here) directly.
Who should have build access?
Report visualizers and self-service champions are among the two categories of the users who would need the Build permission on a dataset. Developers normally have Edit access, but other users who want to build any content on top of an existing dataset would require the build access level.
For any BUILD operation on a Power BI dataset, users need to have a Pro license. Even a Power BI free user for a dataset that is under a premium capacity, won’t be able to build content unless have a Pro license. (any licensing options mentioned here, can change in the future)
In this article and video, you learned that the Build access provided alongside View is different than the Edit access. A user with Edit access will see everything regardless of row-level security. But the Build and view access will respect the RLS configuration. The edit access also provides the ability to modify or delete a content. You learned how you can provide the Build access but not the edit access. This is an important consideration in your Power BI sharing method. If you have any questions about your scenario of sharing, please feel free to let me know in the comments below.