Superset Keycloak Integration
A superset keycloak integration connects your analytics app to your central identity provider. You set up standard OAuth or OpenID Connect flows to manage user logins. Teams use this setup to stop maintaining separate local passwords inside the chart tool. Instead, admins map central user groups to internal analytics roles during login. Still, broad role mappings often give analysts full access to underlying database tables. How a superset keycloak integration works The analytics app relies o
Keycloak: the complete guide
Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.
A superset keycloak integration connects your analytics app to your central identity provider. You set up standard OAuth or OpenID Connect flows to manage user logins. Teams use this setup to stop maintaining separate local passwords inside the chart tool. Instead, admins map central user groups to internal analytics roles during login. Still, broad role mappings often give analysts full access to underlying database tables.
How a superset keycloak integration works
The analytics app relies on an underlying web framework to handle external logins. When a user visits the login page, the app sends them to the identity server. The user enters their credentials and completes any multi-factor checks there. After a valid check, the identity server sends back a signed token.
This token holds user profile details, email addresses, and group memberships. The analytics app reads these claims and creates or updates the local user account. Admins write rules that link identity groups to internal analytics roles. Every time the user logs in, the app refreshes their assigned roles.
You must register the analytics tool as a confidential client in your identity realm. You also set redirect URLs so the login flow returns to the right place. Next, you configure the analytics app to trust the issuer URL and client credentials. Once done, users bypass the local login screen and use single sign-on.
Mapping groups to analytics roles
Role mapping is the core part of managing permissions across your data teams. Inside the identity tool, admins place users into groups like finance, engineering, or support. Inside the analytics tool, roles control which dashboards, datasets, and SQL editors someone can use. Without group sync, admins would have to assign roles by hand after first login.
When role sync is active, the app checks group claims on every login event. If a user moves from support to finance, their analytics role updates right away. This removes manual ticket work for your platform team. Still, native roles in the analytics app are coarse and difficult to tune.
Giving a user SQL lab permissions lets them run custom queries against connected databases. The analytics app uses a shared service account to talk to your data stores. Even with single sign-on active, the database only sees that single shared service account. You lose sight of which human ran a heavy or risky query.
Keycloak: architecture patterns and best practices
Continue reading? Get the full guide.
Free. No spam. Unsubscribe anytime.
Where single sign-on stops and database risk begins
Setting up single sign-on solves the problem of who can open the analytics app. It ensures former staff lose access the moment you disable their central account. Still, identity checks at login do not inspect what happens during a session. Once inside, an approved analyst can still query tables holding sensitive customer data.
Native roles decide if a user can open the SQL editor or view a chart. They do not inspect individual SQL statements in flight before they reach the database. If a table holds emails, phone numbers, or card numbers, the query returns them raw. Masking rewrites matched fields in results, which native login roles cannot do alone.
Also, shared database credentials inside the analytics app create a large security blind spot. If someone exports a million rows of national IDs, database logs show the app user. Auditing requires tying the identity token all the way down to the database query. Teams need controls that check queries and mask fields at the database layer itself.
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
How do user roles stay in sync after the first login?
You enable role sync on every login within your analytics app settings. The app reads token group claims each time a user signs in and updates roles.
Can we block local password logins after connecting the identity server?
Yes, you set the auth type in the analytics app to use OAuth only. This hides the standard username form and sends all users to your identity provider.
Does this setup pass individual user identities to the target database?
By default, the analytics tool queries databases using one shared service credential. Tracking individual users or masking sensitive columns requires controls at the database query layer.
Related guides
In this post