Superset Dashboards

Published
Length
3 min read

Luis Felipe Dias

All posts

You build superset dashboards by linking a data source, creating charts, and grouping them. Next, you assign role permissions so your team can view the charts. Most teams start by adding one shared database user for the whole app. If roles are too broad, users can read raw tables and private records. How to set up superset dashboards and roles First, you add a database login in the app settings. The app uses this single login to run queries for every chart. Next, you register the tables or vi

Dashboards: the complete guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free white paper. No spam. Unsubscribe anytime.

You build superset dashboards by linking a data source, creating charts, and grouping them. Next, you assign role permissions so your team can view the charts. Most teams start by adding one shared database user for the whole app. If roles are too broad, users can read raw tables and private records.

How to set up superset dashboards and roles

First, you add a database login in the app settings. The app uses this single login to run queries for every chart. Next, you register the tables or views that hold your metrics. Then, you build charts from those tables and place them on a board.

Access control inside the app relies on roles and permissions. Admins map users to roles that allow viewing specific boards or data sources. You can also set up row-level rules to filter data by team. When a user opens a board, the app checks their role first. If the role matches, the app sends the SQL query to the database.

Why native roles leave data gaps

Native roles work well when users only look at preset charts. They keep casual viewers from opening boards meant for other teams. They also let admins group permissions by job title or department.

Still, native roles only check who logs in to the web app. They do not inspect what individual queries do in flight. The database still sees every query coming from one shared service account. This setup makes it hard to tie a database log to one person.

The risk grows when analysts get SQL editor access in the app. An analyst with editor rights can query any table the shared login can read. Row filters on charts do not always block direct SQL queries. If a table holds emails, phone numbers, or card numbers, those values return intact. Static app roles cannot rewrite sensitive fields in query results on the fly.

Dashboards: architecture patterns and best practices

Continue reading? Get the full guide.

Free. No spam. Unsubscribe anytime.

Managing SQL editor risks on shared data

Many teams try to fix this gap by creating more database users. They set up separate data sources in the app for each team. Each data source uses a different database role with narrower table rights. This step shrinks the blast radius if an analyst runs a wide query.

Still, managing dozens of database roles across many boards takes constant work. Every new table or chart requires updates in two different places. Admins must update the database grants and the app role mappings together. When teams move fast, they often fall back to broad read permissions. True safety requires checking queries and masking data fields at the database level.

Check database and API queries on the wire

Identity tools, roles, and network rules decide who opens a session. Setup alone cannot check what each query does or mask sensitive values in a response once a session starts. When workflows touch Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes APIs, SSH, or internal HTTP APIs, hoop.dev sits inline in the wire protocol beside those services as an open-source proxy, a sidecar for your Postgres or API. On every query an AI agent or engineer runs against production, hoop.dev decides to pass, mask, block, or hold it for human review.

Your login details and client tools stay as they are while hoop.dev guardrails refuse bad deletes or drops before they run, and hoop.dev data masking rewrites matched sensitive values in responses in memory. Furthermore, hoop.dev holds SOC 2 Type II, is MIT licensed, and writes every query and decision to an audit trail that generates evidence for HIPAA, GDPR, and PCI DSS. See the source on GitHub.

Frequently asked questions

How do permissions work on superset dashboards?

Admins assign users to roles that grant access to specific boards or datasets. You can also attach row-level filters to roles to limit which rows appear.

Why do database logs show only one user for all chart queries?

The app usually connects to your database with one shared service login. The database sees that single account rather than the person viewing the board.

How can teams protect sensitive fields in chart queries?

Teams should apply dynamic data masking to rewrite emails, phone numbers, and card numbers. This step alters matched fields in query results before they reach the screen.

Save the open-source gateway.

hoop is MIT-licensed infrastructure for controlling how AI agents reach production data. Star hoophq/hoop so you can inspect it, deploy it, or share it when your team starts governing agent access.