Privacy levels

In addition to the authentication method and user credentials for a data source, Power BI also stores a privacy level for each data source. Privacy levels define the isolation level of data sources and thus restrict the integration of data sources in M queries. 

For example, in the absence of privacy levels, an M query that merges a CSV file with a publicly available online database could result in the data from the CSV file being passed to the online database to execute the operation. Although this default behavior is preferable from a query performance and resource utilization standpoint, the CSV file may contain sensitive information that should never leave the organization or even an individual user's machine. Applying privacy levels, such as Private for the CSV file and Public for the online database, isolates the two sources during query execution thus preventing unauthorized access to sensitive data.

The privacy level of a data source can be accessed from the same Edit Permissions dialog available in the Data source settings menu as shown in the following screenshot: 

Privacy Level options per data source

The default Privacy Level for data sources is None. Therefore, dataset designers should revise privacy levels when first configuring data sources in Power BI Desktop based on the security policies for the given sources.

Four privacy levels are available: 

  • Public: A public data source is not isolated from other public sources, but data transfer from organizational and private data sources to public data sources is prevented. Public source data can be transferred to an organizational data source but not to a private data source. 
  • Organizational: An organizational data source is isolated from all public data sources but is visible to other organizational data sources. For example, if a CSV file is marked as organizational, then a query that integrates this source with an organizational SQL Server database can transfer this data to the database server to execute the query. 
  • Private: A private data source is completely isolated from all other data sources. Data from the private data source will not be transferred to any other data sources, and data from public sources will not be transferred to the private source.
  • None: The privacy level applied is inherited from a separate data source, or not applied if the separate parent source has not been configured. For example, the privacy level for an Excel workbook stored on a network directory could be set to None, yet the isolation level of Private would be enforced if a data source for the root directory of the file is set to Private

In this project, the Excel workbook containing the Annual Sales Plan is not merged with any queries accessing the SQL Server data warehouse and thus the privacy levels do not impact any queries. However, as with all other data security issues, such as row-level security (RLS) roles, the dataset designer should be mindful of privacy levels and apply the appropriate setting per data source.

Restrictive privacy levels that do not directly reject queries that can only be executed by violating the privacy (isolation) level of a data source may still prevent query folding from occurring and thus significantly reduce performance and reliability. For example, if an Excel workbook is isolated from a SQL Server data source due to a Private privacy level, then the local resources available to the M engine will be used to execute this operation rather than the SQL Server database engine. If the source data retrieved from SQL Server is large enough, the resource requirements to load this data and then execute this operation locally could cause the query to fail.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.226.185.196