Forum Discussion
How to prevent access to underlying data - while Publishing power BI reports to public
Hi all,
We prepare power BI reports using the sensitive record level data. we publish public health summary visuals to public (currently using power BI pro publish to web public method) I like to prevent any data leakage hence don't want public to access any underlying data other than what they can see in the visuals.
I can't apply row level security as this reports prepared using massive amounts of data sets from different services and we are open to public to access them for research, rasing awareness and information purpose.
Currently I am preparing power BI reports by loading data from semantic model but not sure is that prevent access to underlying data or not ?
I will be grateful, if someone can share thier experience how they are preventing access to underlying data for thier public versions how I can achieve this task.
Thanks 7 Regards,
Suri
Hi SuriPowerBI ,
Thanks for reaching out to Microsoft Fabric Community,When using Publish to Web in Power BI, there are no built-in controls to restrict access to the underlying dataset. Even if visuals only display aggregated values, the entire data model behind the report is exposed. Users can potentially extract data using browser tools or third-party methods, which poses a risk when working with sensitive or detailed records.
Recommended Approach:
1. Create a summary-only semantic model
Build a separate Power BI dataset that includes only the aggregated data you intend to publish. For example, summaries by age group, condition, geography, etc. with any identifiable or granular data excluded. This way, even if someone accesses the dataset behind the report, they only see public-level information.2. Automate the summary logic in Power Query
To avoid creating multiple tables manually (e.g. 12 conditions × 8 summary tables), use Power Query functions or parameterized queries. These can generate the required summaries dynamically and reduce duplication across conditions.3. Avoid using detailed datasets with Publish to Web
Using a semantic model does not prevent data access if the model includes sensitive fields. Once published to web, the report and its model are publicly accessible, regardless of any hidden fields or visuals.
If you need more control but still want to share insights externally, consider:Power BI Embedded with authentication
Secure embed or app sharing using AAD-based access
These options allow broader access while maintaining data protection.
Hope this helps. Please reach out for further assistance.
If this post helps, then please consider to Accept as the solution to help the other members find it more quickly and a kudos would be appreciated.Thank you.
6 Replies
- lbendlin
Super User
don't want public to access any underlying data other than what they can see in the visuals.You are publishing to web. There are no guardrails whatsover. If you don't want the underlying data to leak, don't include the underlying data.
Create a semantic model that ONLY contains the summary data.
- SuriPowerBIRegular Visitor
Thank you for your kind response lbendlin
The dataset has so many subsets - for example Cancer by age group, ethnicity,deprivation,differnt gepgraphies ; like cancer my dataset has 12+ conditions ; I need to end-up creating around 8 summary tables for 1 condtion (12*8) in power Query. Is there any method you advice
- lbendlin
Super User
Either accept that they can access the underlying data, or create separate reports that are only based on the summary data they are allowed to access.
- v-veshwara-msft
Community Support
Hi SuriPowerBI ,
Thanks for reaching out to Microsoft Fabric Community,When using Publish to Web in Power BI, there are no built-in controls to restrict access to the underlying dataset. Even if visuals only display aggregated values, the entire data model behind the report is exposed. Users can potentially extract data using browser tools or third-party methods, which poses a risk when working with sensitive or detailed records.
Recommended Approach:
1. Create a summary-only semantic model
Build a separate Power BI dataset that includes only the aggregated data you intend to publish. For example, summaries by age group, condition, geography, etc. with any identifiable or granular data excluded. This way, even if someone accesses the dataset behind the report, they only see public-level information.2. Automate the summary logic in Power Query
To avoid creating multiple tables manually (e.g. 12 conditions × 8 summary tables), use Power Query functions or parameterized queries. These can generate the required summaries dynamically and reduce duplication across conditions.3. Avoid using detailed datasets with Publish to Web
Using a semantic model does not prevent data access if the model includes sensitive fields. Once published to web, the report and its model are publicly accessible, regardless of any hidden fields or visuals.
If you need more control but still want to share insights externally, consider:Power BI Embedded with authentication
Secure embed or app sharing using AAD-based access
These options allow broader access while maintaining data protection.
Hope this helps. Please reach out for further assistance.
If this post helps, then please consider to Accept as the solution to help the other members find it more quickly and a kudos would be appreciated.Thank you.
- v-veshwara-msft
Community Support
Hi SuriPowerBI ,
Just checking in to see if you query is resolved and if any responses were helpful. If so, kindly consider marking the helpful reply as 'Accepted Solution' to help others with similar queries.
Otherwise, feel free to reach out for further assistance.
Thank you.
- v-veshwara-msft
Community Support
Hi SuriPowerBI ,
Following up to see if your query has been resolved. If any of the responses helped, please consider marking the helpful reply as the 'Accepted Solution' to assist others with similar questions.
If you're still facing issues, feel free to reach out.
Thank you.