PowerBI on Linux
You cannot install the desktop app natively to run powerbi on linux. Instead, teams use the web service in a browser or run a Windows virtual machine. Engineering teams often set up shared virtual desktops so Linux users can build reports. Still, these shared setups often rely on broad database roles that expose raw production data. How to set up powerbi on linux for your team Microsoft builds the authoring desktop app only for Windows systems. Linux users have two main paths to build and vie
Single Sign-On (SSO) + Linux Capabilities Management: the complete guide
Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.
You cannot install the desktop app natively to run powerbi on linux. Instead, teams use the web service in a browser or run a Windows virtual machine. Engineering teams often set up shared virtual desktops so Linux users can build reports. Still, these shared setups often rely on broad database roles that expose raw production data.
How to set up powerbi on linux for your team
Microsoft builds the authoring desktop app only for Windows systems. Linux users have two main paths to build and view reports. First, analysts can open the cloud web portal in any modern Linux browser. The web portal lets users view dashboards, edit basic reports, and manage workspace roles. Second, data teams can run a local Windows virtual machine or a remote desktop session. This virtual machine runs the full Windows desktop app on top of the Linux host.
Inside the virtual machine, the user installs the desktop app and database drivers. The analyst then logs in to the database to pull tables and build data models. Once the report is ready, the analyst publishes the file to the cloud workspace. Other team members can then view the finished report in their Linux browsers.
Why virtual machine database roles create security gaps
Running a virtual machine solves the operating system problem for Linux engineers. The native setup checks who logs in to the workspace and the database. Still, this approach leaves a large gap during live data queries. Database roles decide who can log in, not what individual queries return in flight.
When an analyst pulls data into the desktop app, the app caches rows locally. If the database role can read a table, it pulls every column in that table by default. Sensitive fields like emails, phone numbers, card numbers, and national IDs load into the local file. Shared service accounts make this problem worse across the team. Every query in the database log shows the same shared service account name. Security teams cannot see which Linux user ran a specific query from the reporting tool. Static database roles also remain active all day, even when no one is building reports.
Single Sign-On (SSO) + Linux Capabilities Management: architecture patterns and best practices
Continue reading? Get the full guide.
Free. No spam. Unsubscribe anytime.
Managing data permissions for Linux reporting workflows
To reduce risk, teams should separate report viewing from data modeling. Most Linux users only need browser access to read published dashboards. Only a small group of builders needs the desktop app inside a virtual machine. For those builders, teams should avoid shared database keys stored inside report files.
Each analyst should log in with an individual role tied to their identity. Teams also need controls that inspect queries in flight before data reaches the virtual machine. Dynamic masking rewrites matched fields like emails or card numbers in query results. This keeps sensitive text out of local report caches on Linux machines.
Govern statements and responses across databases and APIs
Good config and scoped roles are needed setup. They do not check single queries in flight or mask sensitive fields in returned rows. Across Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes APIs, SSH, and internal HTTP endpoints, hoop.dev runs beside each supported service as an open-source proxy, a sidecar for your database or API.
First, hoop.dev guardrails block banned queries before they run. Then hoop.dev data masking rewrites matched sensitive values in responses in memory. The audit trail records every statement and verdict per resource. Furthermore, hoop.dev holds SOC 2 Type II and is open source on GitHub.
Frequently asked questions
Can you install the desktop app directly on Ubuntu or Fedora?
No, Microsoft does not offer a native Linux package for the desktop tool. You must use the browser web service or run a Windows virtual machine on Linux.
Do compatibility layers like Wine work for building reports on Linux?
No, Wine fails to run the needed system components and database drivers reliably. A full Windows virtual machine or remote desktop session is the stable choice for Linux users.
How do Linux users refresh data in published reports?
Users configure scheduled refreshes inside the cloud web portal using a browser. The cloud service then pulls fresh data from the source database on a set schedule.
Related guides
In this post