Power Bi Request Access
You trigger a power bi request access prompt when you open a restricted report. The report owner then reviews the alert and grants view or edit rights. Most teams set up these permissions at the workspace or report level. Still, broad workspace roles often give users far more data than they need. When a role is too wide, one approval exposes every underlying table. How the power bi request access workflow operates A user clicks a shared link to a dashboard or report. The platform checks their
Access Request Workflows: the complete guide
Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.
You trigger a power bi request access prompt when you open a restricted report. The report owner then reviews the alert and grants view or edit rights. Most teams set up these permissions at the workspace or report level. Still, broad workspace roles often give users far more data than they need. When a role is too wide, one approval exposes every underlying table.
How the power bi request access workflow operates
A user clicks a shared link to a dashboard or report. The platform checks their identity against the workspace role list and item permissions. If the user lacks a valid role, the screen shows a request form. The user writes a short note and submits the form to the owners.
The platform sends an alert to the workspace admins or report owners. An admin opens the pending list to review the user and their note. The admin can approve the request and pick a specific permission level. They can grant read rights for one report or assign a workspace role. If the report uses a shared dataset, the user needs read rights there too. Without dataset rights, the report visuals will fail to load any rows.
How workspace roles map to database queries
Approving a report viewer is only the first half of the data path. The analytics app still needs to read rows from your backend database. Teams set up this data link in one of two common ways. Some reports use a single shared service account to run every query. Every report viewer shares that one database login when they load a chart. The database sees the service account name instead of the real human user.
Other reports pass the viewer identity straight through to the database engine. This setup forces the database to check permissions for each individual user. In this mode, a report approval is not enough on its own. An admin must also grant the user a role inside the database. Teams often take shortcuts here and grant wide read roles to save time. They might also share one strong database login across many different workspaces.
Access Request Workflows: architecture patterns and best practices
Continue reading? Get the full guide.
Free. No spam. Unsubscribe anytime.
What native permissions solve and what they leave open
Native workspace roles do a good job of sorting out your analytics portal. They control who can open a chart, edit a layout, or publish apps. Row-level rules inside a dataset can also filter what a viewer sees. This setup solves basic portal team for small and medium reporting teams.
Still, portal roles only decide who logs in to view an item. They do not inspect what individual queries do in flight at the database. A user with dataset build rights can run custom queries against raw tables. If the shared database login has broad rights, those queries read everything. Native portal approvals cannot rewrite sensitive fields like emails or phone numbers in results. They also cannot mask card numbers or national IDs before queries finish. When analysts connect directly to the database for ad-hoc work, portal rules vanish. You lose a single audit trail that ties every query to a person. Teams must also remember to revoke old workspace roles after a project ends. Leftover roles leave standing permissions open across dozens of sensitive company datasets.
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
Who receives the alert when a user asks for report permissions?
The platform sends the alert to the report owner or workspace admins. Report authors can also set a custom contact list in the item settings. This routes new prompts straight to a help desk or data team.
Why does a user still see an error after I approve their report request?
A report often pulls data from a separate shared dataset or live database. Approving the report alone does not grant read rights on the underlying source. You must also grant read permissions on the linked dataset or database.
How can we stop shared datasets from exposing raw personal data?
Limit workspace roles to viewer rights so users cannot build new reports. Then apply field-level masking at the database layer to rewrite sensitive columns. Masking replaces emails, phone numbers, and card numbers before results reach the chart.
Related guides
In this post