Forum Discussion
How do I protect the IP in my Power BI solution?
I've developed a Power BI dashboard (.PBIX) that runs SQL against an on-prem SQL server to light up the visuals. I want to distribute the PBIX file to customers who license the solution but I don't want them to have access to the SQL and DAX. Is that possible? I've looked at Power BI templates but they appear to be limited to only using http data sources.
5 Replies
- nsc
Advocate II
There is no way you can distribute a PBIX file and not give them the DAX. With you SQL being onpremise you would also need to open up your server for internet access which is not recommended.
If you have your data on-prem you'll need a gateway under any circumstance for sharing in the service. Is it not possible to migrate to Azure SQL? Then you could use Template Apps which allow you to hide the DAX as well as the source.
Otherwise if all the customers can be in your tenant (either invited or with separate accounts) simple create an app and give them access that way. You can assign Power BI Pro licenses to external users for use in your tenant if need be.
- harolddNew Member
Thank you for your reply. Perhaps I did not explain myself properly. The data that is consumed by the dashbaords will be from a SQL Server in the customers environment - not from our SQL server. The customer will use the PBIX file (or PBIT file), then set the data source to their own local SQL instance. The challenge is we have no way of preventing the users from viewing the SQL.
- nsc
Advocate II
Got it. The best way as I see it would be to test if Template Apps (https://docs.microsoft.com/en-us/power-bi/service-template-apps-overview) support your scenario, but you may already have tried that (dont know if gateways are supported yet).
You could also look into Custom Data Connectors, but that will only allow you to control the Power Query logic (which would/could cover your SQL) but not the DAX which would still need to be shared.
- TTTAusNew Member
Hi, any luck on this? I also have analytics that customers want but they want to run in their own environment for data security. I'm surprised there's not a clear solution to this. thanks.