Apache Superset for NIST SP 800-53 access enforcement and least privilege

How Superset configuration supports NIST SP 800-53 AC-3 access enforcement, AC-6 least privilege and AU-2 event logging, what evidence it yields, and what your organization must still own.

On this page

Apache Superset for NIST SP 800-53 access enforcement and least privilege: what it helps with

Superset configuration supports NIST SP 800-53 controls AC-3 (access enforcement), AC-6 (least privilege) and AU-2 (event logging), but it does not satisfy them on its own. Those controls describe what your system and its operating processes do, and an assessor will test the whole environment: the identity provider, the warehouse grants, the network path, the admin procedures and the records they produce. If you are putting analytics on federal or regulated data, the first decision is which system boundary Superset sits inside and which controls your authorization package must address. NIST SP 800-53 Release 5.2.0 is a catalog, and organizations select from it through the SP 800-53B baselines. The low, moderate and high baselines select 149, 287 and 370 controls and enhancements respectively. These counts show how much selection happens, not how many items a deployment must build. AC-3, AC-6 and AU-2 all appear in the moderate and high baselines, and AU-2 also appears in the low baseline. Confirm your system's impact level and any overlays with your authorizing official before scoping the work.

DeployOpen plans, configures and documents Superset in infrastructure you control, and prepares the systems, settings and evidence that an assessor will review. DeployOpen does not perform assessments, issue audit reports, or grant certifications or authorizations; independent assessors and the responsible authorities do that work. The NIST assessment procedures in SP 800-53A Rev. 5 are the most useful starting point for planning evidence, because each control lists what an assessor will examine, interview and test. Ask your assessor which of those methods they will use for AC-3, AC-6 and AU-2 and where the evidence should come from. Also confirm whether your data falls under an authorization regime such as FedRAMP, which scopes cloud services that handle federal information, before deciding where Superset runs.

The practical work begins with the access model. Map each Superset role to a documented business function, restrict data access with row level security and dataset permissions, and confirm that logins come through your identity provider so that account removal in the directory removes Superset access. Record which settings, such as AUTH_ROLES_MAPPING in superset_config.py, carry these decisions, and keep them under change control. For AU-2, decide which event types your organization must log, how long they are retained, and how often you review the selection. Verify that those events reach a log store you control. Each of these choices should be tested in a staging environment, and each test result should be kept as evidence.

Mapping AC-3, AC-6 and AU-2 to Superset capabilities and configuration

This table pairs each NIST SP 800-53 control with what Superset provides and the settings you must make and then confirm against the Superset documentation for your release. Read each row as a question an assessor will ask, then check whether your configuration can answer it with evidence. Superset supplies mechanisms for roles, row-level filtering and login mapping, but the control decisions and their documentation remain your responsibility.

RequirementSuperset capabilityConfiguration you must set
AC-3 access enforcement: approved authorizations enforced for logical accessFlask-AppBuilder role and permission model controls access to dashboards, charts, datasets and databasesDefine an approved authorization matrix, assign roles through the identity provider, and confirm in the documentation which permissions gate each object type
AC-3(7) role-based access controlSuperset roles bundle permissions and are assigned to users; AUTH_ROLES_MAPPING can map LDAP or OAuth groups to rolesMap each approved group to the minimum set of roles, disable self-registration of roles, and confirm the mapping behavior for your identity provider
AC-3(13) attribute-based access controlRow-level security filters query results by clauses applied per role; attribute logic beyond that depends on your data model and identity claimsWrite RLS clauses from approved attributes such as facility or region, test them per role, and treat any attribute-driven policy beyond RLS as a design gap to confirm
AC-6 least privilege: only accesses needed for assigned tasksGranular role permissions, RLS, and separate admin roles let you narrow what each user and service account can reachRemove admin and broad permissions from analyst roles, scope database connection users to read-only, and document the rationale for each granted permission
AC-6 control enhancements (AC-6(1) to AC-6(10))Superset does not map one-to-one to each enhancement; several depend on operating processes such as privileged account review and loggingConfirm baseline selection for your system, then assess each enhancement against your procedures and record which ones Superset supports and which need organizational controls
AU-2 event types: identify, select and specify the events loggedSuperset action and event logging writes to a configured log destination; the exact event list depends on release and settingsIdentify the event types you need, confirm in the documentation which ones Superset logs, and configure the log destination and retention in your environment
AU-2 selection review and investigation supportLogs cover user activity that supports after-the-fact investigation when retained and protectedDocument why the selected event types support incident investigation, set a review frequency, and record each review as evidence

Evidence an assessor can test from Superset and how to keep it

An assessor testing AC-3, AC-6 and AU-2 will examine documents, interview administrators and test configuration against the stated requirement. Each card below is an artifact you can export or retain from Superset or its surrounding systems, and each must be dated, reproducible and tied to the system boundary you defined.

Role and permission exports

Export the roles, their assigned permissions and their members on a fixed schedule, and keep each export with its date and the Superset version it came from. This is the primary evidence for AC-6 least privilege, because it shows which accesses each role grants. Check that custom roles are listed alongside the built-in ones, and that the export matches what the admin interface shows when an assessor samples a user. Confirm the export method with your Superset version, since the supported tooling may change between releases.

IdP group-to-role mapping records

Keep the mapping between identity provider groups and Superset roles under version control, including the AUTH_ROLES_MAPPING entries used for OAuth or LDAP logins. An assessor testing AC-3 will ask who can reach which data and why, and this record answers the why. Record who approved each mapping and when it changed, and reconcile it against the groups currently in the directory so that orphaned or overly broad groups are visible.

RLS rule definitions as configuration

Row-level security rules should live as reviewed configuration, not as ad hoc edits in the interface, so each filter has an owner, a dataset, the roles it applies to and a change history. This supports AC-3 by showing that data restrictions are enforced by approved rules. Test a sample of rules against the database by logging in as representative users and confirming the rows returned match the policy. Keep the test results with the rule definitions.

Metadata database backups and retention

The metadata database holds the users, roles, permissions and dashboard definitions that the other evidence depends on, so its backups are evidence in their own right. Document the backup schedule, the retention period you chose, where copies are stored, and the restore test results. Confirm that backups are taken before any upgrade, as the upgrade guidance requires. Ask your database team to show that a restore reproduces the role and permission state an assessor sampled.

Logs of permission and access changes

Retain logs that show who created or changed roles, permissions, users and data access, and who signed in, with timestamps and the acting administrator. These logs support AU-2 by showing that the selected event types are actually recorded. Forward them to a central store outside Superset so that an administrator cannot alter them, and confirm that the retention period meets your policy. Test the logs by making a controlled permission change and verifying that it appears.

Documented AU-2 event selection and review

Write down which event types Superset and its surrounding infrastructure log, why that selection supports after-the-fact investigation, and how often the selection is reviewed. AU-2 requires this documentation and a defined review frequency, and the review must be dated and signed. Coordinate with the teams that consume audit information so their needs are reflected. Keep the previous review records so an assessor can see that the selection changed when the system changed.

Configuring Superset for access enforcement and least privilege

This sequence turns a Superset install into an access model you can explain to an assessor: a production metadata database, a controlled secret key, identity-provider login with mapped roles, least-privilege permissions, row-level filters and logged events. Each step ends with a check you can record as baseline evidence.

  1. Deploy with a supported metadata database

    The platform team deploys Superset with PostgreSQL or MySQL as the metadata database, using a version from the supported range in the configuration documentation (PostgreSQL 10 to 17, MySQL 5.7 and 8.x). The SQLite default and the Docker Compose PostgreSQL container are not recommended for production, so they are excluded from this build. Confirm the chosen database version against the configuration documentation before provisioning. The step is done when the metadata database is reachable only from Superset components, its backups are scheduled, and the installed version is written into the baseline record.

  2. Set a user-specified secret key

    Superset requires a SECRET_KEY that you supply, and it will not start without one. The platform team generates a high-entropy value, stores it in the organization's secrets manager, and injects it into the configuration at deploy time rather than writing it into a repository. Record who holds the key and where rotation is handled, using PREVIOUS_SECRET_KEY for rotation as described in the configuration documentation. The step is done when the application starts only with the injected key and the key location and rotation owner are documented.

  3. Connect login to the identity provider

    The identity team configures Superset login through OAuth2 with your identity provider, or through LDAP where a directory is the source of truth, so that no local password accounts are used for analysts. Disable self-registration and keep local administrator access to a small break-glass set of accounts. Confirm that the provider enforces multi-factor authentication for Superset users, since that control sits in the identity provider and is evidence for the authentication requirement. The step is done when a test user can sign in only through the provider and local sign-up is off.

  4. Map directory groups to Superset roles

    Use AUTH_ROLES_MAPPING to translate identity provider or directory groups into Superset roles, so role membership follows the joiner, mover and leaver process rather than manual edits in the Superset UI. Map each group to the narrowest role that supports its job, and keep administrative roles in a separate, named group with a short membership list. Record the mapping file as a configuration artifact under change control. The step is done when a sample user from each group receives exactly the roles the mapping defines and no others.

  5. Define least-privilege roles and dataset access

    Design custom roles from the base permissions, granting dataset access only to the datasets each job function needs and removing broad grants such as all-datasource access where they are not required. Separate roles that build content from roles that only view dashboards, and restrict who can edit shared charts or dashboards. This mapping supports AC-6 by permitting only the accesses that users need for their tasks, and it supports AC-3 because Superset enforces these authorizations on each request. The step is done when a permission matrix lists each role, its dataset grants and its write rights, and a test user confirms that an out-of-scope dataset is refused.

  6. Add row-level security by tenant or facility

    Define row-level security rules that filter each dataset by the attribute that separates data owners, such as tenant, facility or business unit, and attach each rule to the roles that should see that slice. Have the data owner approve each filter and test it with at least one user in each scope, including one who should see no rows. Note that a rule applies only to the roles it names, so an unfiltered role inherited from elsewhere can bypass it. The step is done when filtered results match the approved scope for each test user and the RLS rule list is exported and stored with the baseline.

  7. Restrict export and SQL Lab rights

    Limit CSV and data export permissions and SQL Lab access to the roles that require them, because these functions can move data outside the filtered view. Review which roles can run ad hoc SQL against the warehouse, and align the database connection's own privileges with the least-privilege design so that Superset cannot read more than the business role needs. Confirm the export and SQL Lab settings in the staging environment before production. The step is done when a standard viewer cannot export or run SQL and the warehouse account used by Superset has only the read grants the datasets require.

  8. Enable event logging with a documented selection

    Under AU-2, the organization must name the event types it logs, the reason each supports incident investigation, and the review frequency. Document the selection covering logins, failed logins, role and permission changes, dataset and RLS edits, and exports, then configure Superset and the platform's log pipeline to capture those events with the time and user fields needed for after-the-fact review. Coordinate with the security team on where logs are forwarded. The step is done when a test login, a role change and an export each appear in the central log store with the expected identity.

  9. Test in staging and record the baseline

    Run the full sequence in a staging instance that mirrors production configuration, then execute the access tests: SSO-only login, group-to-role mapping, dataset refusal, RLS filtering, export restriction and log capture. Log each result with the test user, expected outcome and actual outcome, and have a second person review the failures. Save the role export, mapping file, RLS rules, logging selection and test results as the baseline, and schedule the next access review. The step is done when every test passes or has a recorded exception, and the baseline is stored under change control before production promotion.

Where Superset stops and your organization's controls begin

AC-3 and AC-6 are organization-wide policy and process controls, and most of their substance sits outside Superset. Superset can enforce the roles, dataset permissions and row level security you configure, but the access policy itself, the approval workflow for granting access, the periodic role review and the separation of duties between people who build dashboards, approve access and administer the platform all have to be defined and operated by your organization. An assessor will ask who approved each role, how often roles are recertified and whether anyone with admin rights can also grant themselves data access. Superset does not answer those questions by default, so plan the owners, the review cadence and the evidence trail before configuring roles.

AU-2 requires you to name the event types the system logs, coordinate that selection with other parties that need audit information and document why the selection supports after-the-fact investigation. Superset's own logging may cover some of those events, but the retention, forwarding and tamper resistance of those records are typically handled by your SIEM or log platform. Confirm for the release you run which user, permission and query events Superset records, where they are written, and how they reach your central log store. Database-level privileges and the network segmentation of the warehouse are also separate from Superset: a dashboard can only be as tightly scoped as the database account behind its connection, and that account needs its own least-privilege design and network controls.

Superset's feature set, configuration keys and logging details change between releases, so confirm each control against the version you deploy, using the Apache Superset configuration documentation and the release notes for that version. Separately, FedRAMP, CJIS Security Policy, CMMC and 32 CFR 2002 apply only within their own scope. A FedRAMP authorization, for example, concerns a cloud service offered to agencies, not an internally operated analytics tool, and CMMC cloud rules apply only where a defense contractor stores CUI in a cloud service. Ask your assessor which frameworks actually bind this deployment before you map controls to them.

What Superset does not cover for these controls

Superset enforces access inside the application, but AC-3, AC-6 and AU-2 also depend on decisions and evidence outside it. The cards below name the items that sit with other owners and must be in place before an assessor will accept the Superset configuration as evidence.

Organizational access policy and reviews

Superset can only enforce the roles you define. The access policy that says who needs which datasets, who approves exceptions and how often access is recertified is an organizational document. Compliance leads and data owners must write it, and the security team must run periodic reviews against role exports from Superset and the identity provider. Ask the auditor which review frequency they expect for AC-2 and AC-6 before you design the review cycle.

Warehouse-side privileges

Superset's roles limit what users can do inside the application, but the database account that Superset uses decides what a query can actually read. If that account has broad grants, a permissive dataset or a crafted query can expose data that the Superset role model was meant to hide. Database administrators own the grants for the service account, and the platform team should confirm that each connection uses a read-only identity scoped to the datasets it serves.

SIEM retention and correlation

Superset writes action and event records, but AU-2 places the decision on which event types are logged, how often, and how long they are kept with the organization. Security operations owns the log pipeline, retention period and alert rules that correlate Superset events with identity provider sign-ins and warehouse query logs. Confirm with your security team where Superset logs are shipped, who can read them, and whether they are protected from changes by the application's own administrators.

SECRET_KEY and session hardening program

Superset requires a user-specified SECRET_KEY and supports rotation with PREVIOUS_SECRET_KEY, but the rotation schedule, key storage and session lifetime rules are a security engineering program. Platform engineers should store the key in a managed secrets store, document who can read it, and test rotation in staging before production. Without this program, the access decisions Superset makes can be undermined by a leaked or long-lived key.

Cloud and hosting authorization

Where Superset runs on a cloud service that holds federal information, the hosting provider's authorization status can decide whether the system is in scope at all. FedRAMP scope depends on whether the cloud product creates, stores or processes federal information on behalf of an agency. Agency authorizing officials and the cloud provider's compliance team must confirm the authorization level and inheritance before you map Superset controls to the hosting layer.

Re-review of AU-2 under Release 5.2.0

Release 5.2.0 of SP 800-53 updated AU-2, among other controls, so an event selection written against an earlier release should be checked again. The compliance owner must compare the current AU-2 text with the logging decisions already recorded for Superset and document what changed. Ask the assessor which release your authorization package will be measured against before you close the review.

How much effort and cost does NIST SP 800-53 access configuration for Superset take?

What drives the effort of NIST SP 800-53 access configuration for Superset?

The main drivers are the number of data sources and datasets, the complexity of your identity provider and group structure, the number and logic of row level security rules, and the impact level of the data, which determines how many controls and enhancements you must address. Each added database connection needs its own permission review, and each dashboard that filters by user attribute needs tested RLS rules. Identity work grows when groups come from several directories or when role mapping has to follow an access policy that does not yet exist. Ask the partner to show how each driver maps to the written scope before you accept a figure.

Can an internal team configure Superset access controls for NIST SP 800-53 on its own?

Yes, if the team has Superset administration skills, identity provider experience and someone who can write and maintain an access policy. The harder part is usually not the configuration but the evidence: mapping each role and RLS rule to AC-3, AC-6 and AU-2, testing that users cannot see data outside their scope, and reviewing the selected event types. Many teams find that the policy decisions take longer than the technical changes. A partner can share the workload, but your internal owners still have to approve the access model.

What must our organization supply before implementation starts?

Plan for three groups of input. Policy owners must define the access control policy, the approved roles and the rules for least privilege. Identity provider administrators must provide group structures, test accounts and the ability to change group mappings. Data owners must confirm which datasets, columns and rows each role may see, and which datasets contain sensitive fields that need masking or exclusion. Without these decisions in writing, the configuration work will stall or be redone.

How much time should we plan for review cycles in an access configuration project?

NIST does not set implementation timelines for SP 800-53; it leaves those to OMB Circular A-130 and your own risk management process. Plan review cycles around your internal approval calendar, the number of stakeholders who must sign off on roles and RLS rules, and any access certification your assessor expects. Ask the partner to show the review points, who attends each one and what each review produces in the written scope. Timelines should follow that plan rather than a generic estimate.

What should a quote for Superset access configuration include?

A useful quote lists the scope in writing: the datasets and database connections covered, the roles to be designed and implemented, the RLS rules and their test cases, the identity provider integration and group mapping, the logging configuration for AU-2 event types, and the test and evidence deliverables. It should separate one-time work from recurring work such as role reviews, upgrades and retained support. It should also state which items depend on your inputs, and what happens if those inputs arrive late. DeployOpen does not publish a price list, so a quote follows from this written scope.

Does DeployOpen issue the NIST SP 800-53 assessment for our Superset deployment?

No. DeployOpen plans, configures, documents and tests the access controls and prepares evidence for compliance assessments, but it does not issue audit reports, attestations or certifications. Assessments are performed by your own assessors or independent auditors, and inspectors general assess federal agency systems under FISMA. The written scope should name the evidence DeployOpen will prepare, such as role exports, RLS test results and logging configuration, so your assessor can review it.

What recurring costs should we expect after the access configuration is complete?

Recurring work includes periodic role and RLS reviews, handling user provisioning and removal, reviewing the event types logged under AU-2, and applying Superset upgrades. Upgrades require backing up the metadata database, running the documented upgrade commands, testing in staging and checking the breaking change notes for each version. Ask whether ongoing support, upgrades and testing are offered as a retainer, and confirm what the retainer covers before you compare it with keeping this work in-house.

What a fixed-scope engagement covers for AC-3, AC-6 and AU-2

A fixed-scope engagement for AC-3, AC-6 and AU-2 starts with a written scope that names every system and decision it touches. For Superset, that means the Superset instance and its metadata database, the identity provider that authenticates users, the AUTH_ROLES_MAPPING rules that turn groups into Superset roles, the row level security rules for each governed dataset, the database connections and the service accounts behind them, the log sinks that receive audit events, and the evidence artifacts the assessor will request. It also states which control baseline the system is assessed against. The SP 800-53B low, moderate and high baselines select different sets of controls, so the scope must say which one applies and why. Ask the partner to list each artifact by name, owner and storage location before work begins.

The one-time work is design, configuration and an evidence baseline. Design covers the role model, the mapping from business functions to Superset permissions, and the RLS predicates that restrict rows by facility, region or tenant. Configuration covers the authentication path, SECRET_KEY handling, database connection privileges, export settings and the event logging pipeline. The evidence baseline is a dated snapshot of roles, permissions, RLS rules, log configuration and a test record showing that a restricted user cannot see or export restricted rows. Recurring work includes periodic role and access reviews, log review at the frequency your own AU-2 selection defines, Superset and dependency upgrades following the upgrade guide, and re-testing after changes to roles or datasets. Confirm with the partner which of these recur inside the fixed scope and which need a separate agreement.

A retainer covers the recurring work after the initial scope closes. It can carry scheduled role reviews, log review support, upgrade planning and testing against the metadata database and Superset release notes, and re-verification after new datasets or identity provider changes. A retainer does not change the control baseline or make the system compliant. Your assessor and your own control owners still decide whether AC-3, AC-6 and AU-2 are met. Ask for the retainer's deliverables, response expectations and what is excluded in writing, so that the boundary between one-time and recurring work is clear before you sign.

How DeployOpen works on this

DeployOpen plans, builds and documents self-hosted Apache Superset inside your own infrastructure, with access enforcement and least privilege designed before the first dashboard is published. We scope the work in writing, then deliver configuration, testing and evidence that your team and an independent assessor can review.

How we scope

  • We confirm which datasets, dashboards and roles fall within the NIST SP 800-53 AC-3, AC-6 and AU-2 review.
  • The written scope lists the identity provider, metadata database, data sources and export paths Superset must control.
  • Engagements are fixed-scope, with deliverables and timelines agreed in writing before work starts.

How we build

  • We design the role model, row level security rules and dataset permissions from your documented access policy.
  • We configure SSO and group-to-role mapping so each access decision traces to an identity provider group.
  • We test denied access, export restrictions and audit log entries against the control requirements in scope.

How we hand over

  • You receive configuration records, role and permission matrices, and test results mapped to the agreed controls.
  • Runbooks cover adding users, changing roles, reviewing access and reading the event logs Superset produces.
  • We document the decisions and open items so your team can maintain the evidence after handover.

How we support

  • Ongoing support, upgrades and continuous testing are available as a retainer after handover.
  • We plan Superset version upgrades with a metadata database backup, staging test and a review of breaking changes.
  • We can repeat access reviews and control tests when roles, datasets or the identity provider change.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.