Forum Discussion

SuriPowerBI's avatar
SuriPowerBI
Regular Visitor
1 year ago
Solved

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

  • 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.

    • SuriPowerBI's avatar
      SuriPowerBI
      Regular 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's avatar
        lbendlin
        Icon for Super User rankSuper 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's avatar
    v-veshwara-msft
    Icon for Community Support rankCommunity 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's avatar
    v-veshwara-msft
    Icon for Community Support rankCommunity 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's avatar
    v-veshwara-msft
    Icon for Community Support rankCommunity 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.