Apache Supersets

Published
Length
3 min read

Luis Felipe Dias

All posts

You set up apache supersets by linking a database and assigning user roles. The app then runs queries to turn raw tables into visual charts. Most engineering teams start by adding one shared database login for the app. This shared login lets analysts build dashboards right away. Still, broad permissions let any editor run custom queries across all tables. One bad query or broad role can expose sensitive customer fields to everyone. How apache supersets permissions and roles work The platform

Supersets: the complete guide

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

Free white paper. No spam. Unsubscribe anytime.

You set up apache supersets by linking a database and assigning user roles. The app then runs queries to turn raw tables into visual charts. Most engineering teams start by adding one shared database login for the app. This shared login lets analysts build dashboards right away. Still, broad permissions let any editor run custom queries across all tables. One bad query or broad role can expose sensitive customer fields to everyone.

How apache supersets permissions and roles work

The platform uses role-based rules to control what users see and do. Admins assign built-in roles to viewers, analysts, and other team members. Each role holds a specific list of permissions for menus and data views. A viewer role lets a user open dashboards and filter existing charts. An analyst role lets a user query datasets and build new visual views.

Data access happens at the database level or the dataset level. When an admin adds a database, the app stores a single login key. Every chart refresh uses that stored key to read the underlying tables. Teams can also turn on the SQL editor for deeper data work. Once a user has SQL editor rights, they can query any table linked to that login. Row-level rules can filter chart data by adding clauses to visual queries. Yet managing hundreds of custom dataset rules across many teams takes constant manual work.

What native roles solve and where gaps remain

Native roles work well when you want to separate chart viewers from chart builders. You can hide the query editor from business users with one role change. You can also group dashboards by team so people only see relevant metrics. This setup stops casual viewers from browsing raw database schemas.

The main gap appears when analysts and engineers need direct query rights. Native setup decides who logs into the app, not what individual queries return in flight. If the shared database login can read customer tables, SQL editor users can too. Native roles do not rewrite sensitive fields like emails or phone numbers in query results. They also do not require peer approval before someone runs a heavy query. Database logs only show the shared app user, not the actual person who ran the query.

Supersets: architecture patterns and best practices

Continue reading? Get the full guide.

Free. No spam. Unsubscribe anytime.

How to secure database queries in analytics workflows

To reduce risk, start by giving the app a read-only database user. Never link an admin database account to a charting tool. Next, create separate database users for public metrics and sensitive customer records. Link those accounts as separate sources inside the analytics app. Give broad chart access to the public source and restrict the sensitive source.

Teams also need controls that inspect individual statements while they run. When an analyst runs a custom query, data masking should rewrite card numbers and national IDs in results. Audit logs should link every SQL statement back to a real user identity. Putting these controls in place keeps analytics fast while protecting raw production tables.

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 runs beside those services as an open-source proxy, a sidecar for your Postgres or API. It inspects requests coming in and results going back on the wire.

Your login details and client tools stay as they are while hoop.dev guardrails refuse bad deletes or drops before they run. On responses, hoop.dev data masking rewrites matched sensitive values 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

What is the difference between a database rule and a dataset rule?

A database rule grants access to every table under that specific database login. A dataset rule limits a user to one specific table or saved view. Teams should use dataset rules for standard viewers and limit full database rules.

How can we stop custom SQL queries from exposing private fields?

Turn off SQL editor access for standard dashboard viewers first. For analysts who need the editor, use a read-only database role with restricted views. You can also apply dynamic data masking to rewrite emails and phone numbers in query results.

Why do database logs show the same username for every dashboard query?

Most teams set up the analytics app with one static service account. The database only sees that shared account when the app sends queries. To see individual users, you must pass user identity metadata along with each query.

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.