Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more

Reply
Anonymous
Not applicable

User access Restriction to Reports in workspace

Hello all,

 

I have three categories of reports(A,B,C) in single workspace and the users of three categories will have access to this workspace. I want to restrict the report access to the user of respective category. 

 

Ex-category A users should access A category reports only, not B and C. Similarly for B and C also.

 

Please let me know solution for this as soon as possible. 

2 ACCEPTED SOLUTIONS
nickyvv
Most Valuable Professional
Most Valuable Professional

Hi @Anonymous,

unfortunately this is not possible inside one workspace.
Users that have access to a workspace can see all the contents inside of it, except for maybe all the data when Row-Level Security is applied on the datasets. But that only applies to row-level, not a report level security.

 

So the solution would in my opinion be to seperate the reports into 3 different workspaces. In the case that they are constructed from one single dataset, you could opt for the solution that you have a separated dataset and report, as mentioned here:

image.png



Did I answer your question? Mark my post as a solution!

Blog: nickyvv.com | @NickyvV


View solution in original post

V-pazhen-msft
Community Support
Community Support

@Anonymous 

Unfortunately, Power BI do not support report level restrictions.

 

As a workaround you may create 3 workspaces as suggested by @nickyvv . Or you may categorize users to Group ABC, then use share button to share each report the Groups.

 

Paul Zheng
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

9 REPLIES 9
Waqas_BIspecs
Frequent Visitor

Hi, 

User access with least previllages with the "Viewer" and All reports will be viewable to user as long as its in the the same work space. 
professioanlly speaking having different workspaces by category really helps.
separate workspace for operations, managment, Finance etc will be really helpful. in your case three different workspaces is the solution. 

Workspace - A 

Workspace - B

Workspace - C

all these category with their respective reports.

 

I hope i was able to explain 

mohammed24
Frequent Visitor

Hi,

If the way the user is navigating to the report is from entering the workspace. Unfortunately, there is no report level security. However, I have been in a similar situation. Note: that the way the end user was navigating to the reports was through embed links of the reports. I have individually given access to the end users for the reports in the workspace. 

I hope this helps.

Regards,
Mohammed

nickyvv
Most Valuable Professional
Most Valuable Professional

And even better, by now there's the option of creating multiple audiences in 1 app: https://powerbi.microsoft.com/en-sg/blog/announcing-public-preview-of-multiple-audiences-for-power-b...



Did I answer your question? Mark my post as a solution!

Blog: nickyvv.com | @NickyvV


Hi there,

There is limitations to this. There can be only 10 audience in one app. So, if your workspace has over 10 reports it could be a problem.

Regards,
Mohammed

 

V-pazhen-msft
Community Support
Community Support

@Anonymous 

Unfortunately, Power BI do not support report level restrictions.

 

As a workaround you may create 3 workspaces as suggested by @nickyvv . Or you may categorize users to Group ABC, then use share button to share each report the Groups.

 

Paul Zheng
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

hi.

Could you please advise how can we forbid on report level the 'Edit' of report possibility in PowerBI services?

 

thanks in advance

Anonymous
Not applicable

@V-pazhen-msft 

So, this group users shouldn't be part of workspace?

@Anonymous 
Yes, you should not assign users to the workspace, because even as viewers they can still see all the reports. 

You can first assign users to O365 groups, then enter the group address when you share reports. BTW, It is assumed the users are from your organization with Pro license. 

 

Paul Zheng
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

nickyvv
Most Valuable Professional
Most Valuable Professional

Hi @Anonymous,

unfortunately this is not possible inside one workspace.
Users that have access to a workspace can see all the contents inside of it, except for maybe all the data when Row-Level Security is applied on the datasets. But that only applies to row-level, not a report level security.

 

So the solution would in my opinion be to seperate the reports into 3 different workspaces. In the case that they are constructed from one single dataset, you could opt for the solution that you have a separated dataset and report, as mentioned here:

image.png



Did I answer your question? Mark my post as a solution!

Blog: nickyvv.com | @NickyvV


Helpful resources

Announcements
Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

April2025 Carousel

Fabric Community Update - April 2025

Find out what's new and trending in the Fabric community.

"); $(".slidesjs-pagination" ).prependTo(".pagination_sec"); $(".slidesjs-pagination" ).append("
"); $(".slidesjs-play.slidesjs-navigation").appendTo(".playpause_sec"); $(".slidesjs-stop.slidesjs-navigation").appendTo(".playpause_sec"); $(".slidesjs-pagination" ).append(""); $(".slidesjs-pagination" ).append(""); } catch(e){ } /* End: This code is added by iTalent as part of iTrack COMPL-455 */ $(".slidesjs-previous.slidesjs-navigation").attr('tabindex', '0'); $(".slidesjs-next.slidesjs-navigation").attr('tabindex', '0'); /* start: This code is added by iTalent as part of iTrack 1859082 */ $('.slidesjs-play.slidesjs-navigation').attr('id','playtitle'); $('.slidesjs-stop.slidesjs-navigation').attr('id','stoptitle'); $('.slidesjs-play.slidesjs-navigation').attr('role','tab'); $('.slidesjs-stop.slidesjs-navigation').attr('role','tab'); $('.slidesjs-play.slidesjs-navigation').attr('aria-describedby','tip1'); $('.slidesjs-stop.slidesjs-navigation').attr('aria-describedby','tip2'); /* End: This code is added by iTalent as part of iTrack 1859082 */ }); $(document).ready(function() { if($("#slides .item").length < 2 ) { /* Fixing Single Slide click issue (commented following code)*/ // $(".item").css("left","0px"); $(".item.slidesjs-slide").attr('style', 'left:0px !important'); $(".slidesjs-stop.slidesjs-navigation").trigger('click'); $(".slidesjs-previous").css("display", "none"); $(".slidesjs-next").css("display", "none"); } var items_length = $(".item.slidesjs-slide").length; $(".slidesjs-pagination-item > button").attr("aria-setsize",items_length); $(".slidesjs-next, .slidesjs-pagination-item button").attr("tabindex","-1"); $(".slidesjs-pagination-item button").attr("role", "tab"); $(".slidesjs-previous").attr("tabindex","-1"); $(".slidesjs-next").attr("aria-hidden","true"); $(".slidesjs-previous").attr("aria-hidden","true"); $(".slidesjs-next").attr("aria-label","Next"); $(".slidesjs-previous").attr("aria-label","Previous"); //$(".slidesjs-stop.slidesjs-navigation").attr("role","button"); //$(".slidesjs-play.slidesjs-navigation").attr("role","button"); $(".slidesjs-pagination").attr("role","tablist").attr("aria-busy","true"); $("li.slidesjs-pagination-item").attr("role","list"); $(".item.slidesjs-slide").attr("tabindex","-1"); $(".item.slidesjs-slide").attr("aria-label","item"); /*$(".slidesjs-stop.slidesjs-navigation").on('click', function() { var itemNumber = parseInt($('.slidesjs-pagination-item > a.active').attr('data-slidesjs-item')); $($('.item.slidesjs-slide')[itemNumber]).find('.c-call-to-action').attr('tabindex', '0'); });*/ $(".slidesjs-stop.slidesjs-navigation, .slidesjs-pagination-item > button").on('click keydown', function() { $.each($('.item.slidesjs-slide'),function(i,el){ $(el).find('.c-call-to-action').attr('tabindex', '-1'); }); var itemNumber = parseInt($('.slidesjs-pagination-item > button.active').attr('data-slidesjs-item')); $($('.item.slidesjs-slide')[itemNumber]).find('.c-call-to-action').attr('tabindex', '0'); }); $(".slidesjs-play.slidesjs-navigation").on('click', function() { $.each($('.item.slidesjs-slide'),function(i,el){ $(el).find('.c-call-to-action').attr('tabindex', '-1'); }); }); $(".slidesjs-pagination-item button").keyup(function(e){ var keyCode = e.keyCode || e.which; if (keyCode == 9) { e.preventDefault(); $(".slidesjs-stop.slidesjs-navigation").trigger('click').blur(); $("button.active").focus(); } }); $(".slidesjs-play").on("click",function (event) { if (event.handleObj.type === "click") { $(".slidesjs-stop").focus(); } else if(event.handleObj.type === "keydown"){ if (event.which === 13 && $(event.target).hasClass("slidesjs-play")) { $(".slidesjs-stop").focus(); } } }); $(".slidesjs-stop").on("click",function (event) { if (event.handleObj.type === "click") { $(".slidesjs-play").focus(); } else if(event.handleObj.type === "keydown"){ if (event.which === 13 && $(event.target).hasClass("slidesjs-stop")) { $(".slidesjs-play").focus(); } } }); $(".slidesjs-pagination-item").keydown(function(e){ switch (e.which){ case 37: //left arrow key $(".slidesjs-previous.slidesjs-navigation").trigger('click'); e.preventDefault(); break; case 39: //right arrow key $(".slidesjs-next.slidesjs-navigation").trigger('click'); e.preventDefault(); break; default: return; } $(".slidesjs-pagination-item button.active").focus(); }); }); // Start This code is added by iTalent as part of iTrack 1859082 $(document).ready(function(){ $("#tip1").attr("aria-hidden","true").addClass("hidden"); $("#tip2").attr("aria-hidden","true").addClass("hidden"); $(".slidesjs-stop.slidesjs-navigation, .slidesjs-play.slidesjs-navigation").attr('title', ''); $("a#playtitle").focus(function(){ $("#tip1").attr("aria-hidden","false").removeClass("hidden"); }); $("a#playtitle").mouseover(function(){ $("#tip1").attr("aria-hidden","false").removeClass("hidden"); }); $("a#playtitle").blur(function(){ $("#tip1").attr("aria-hidden","true").addClass("hidden"); }); $("a#playtitle").mouseleave(function(){ $("#tip1").attr("aria-hidden","true").addClass("hidden"); }); $("a#play").keydown(function(ev){ if (ev.which ==27) { $("#tip1").attr("aria-hidden","true").addClass("hidden"); ev.preventDefault(); return false; } }); $("a#stoptitle").focus(function(){ $("#tip2").attr("aria-hidden","false").removeClass("hidden"); }); $("a#stoptitle").mouseover(function(){ $("#tip2").attr("aria-hidden","false").removeClass("hidden"); }); $("a#stoptitle").blur(function(){ $("#tip2").attr("aria-hidden","true").addClass("hidden"); }); $("a#stoptitle").mouseleave(function(){ $("#tip2").attr("aria-hidden","true").addClass("hidden"); }); $("a#stoptitle").keydown(function(ev){ if (ev.which ==27) { $("#tip2").attr("aria-hidden","true").addClass("hidden"); ev.preventDefault(); return false; } }); }); // End This code is added by iTalent as part of iTrack 1859082
Top Solution Authors