Row-Level Security (RLS) in Amazon QuickSight is a data access control feature that restricts the rows of a dataset visible to individual users or groups.
Instead of creating separate datasets and dashboards for every department, region, or customer, organizations can apply security rules to a shared dataset. These rules determine which records users can see.
For example, a healthcare organization may use a shared dashboard to analyze operational performance across multiple facilities. With RLS, a regional manager can access data for their assigned facilities without automatically receiving access to every other region's records.
Similarly, a financial services organization can restrict sales dashboards so that employees see only the records authorized for their roles.
Organizations often need to share analytics while maintaining appropriate access boundaries. RLS helps them:
RLS is one component of a broader security strategy. Combine it with appropriate identity management, dataset permissions, access controls, and testing.
Amazon QuickSight applies RLS to datasets using configured rules. Analyses and dashboards that use the secured dataset inherit the applicable row-level restrictions.
The rules determine which data values a user or group is authorized to access.
A typical user-based RLS implementation involves three main components:
For example, suppose a sales dataset contains records for the East, West, and North regions. A permissions dataset can map different users to their permitted regions.
When an authorized user accesses a dashboard, the configured rules restrict the rows available to that user.
| User | Authorized region | Expected access |
|---|---|---|
| analyst1@example.com | East | Records matching East |
| analyst2@example.com | West | Records matching West |
| analyst3@example.com | North | Records matching North |
This example illustrates the principle of mapping users to data. The actual configuration must follow QuickSight's supported RLS rule format, identity requirements, and matching behavior.
For technical details, consult the official AWS documentation on user-based RLS rules.
QuickSight supports different approaches to row-level access control. The right method depends on how users access dashboards and how you manage permissions.
User-based rules associate registered QuickSight users or groups with permitted values in a dataset.
For example, a sales manager may be allowed to access records for two regions, while another manager can access records for only one region.
User-based rules are useful when access permissions are tied to registered identities and organizational roles.
Tag-based RLS uses session tags to control access in supported embedded analytics scenarios, including anonymous embedding configurations.
Instead of relying exclusively on a registered user's identity, the application supplies configured session attributes that determine which records are visible.
This approach can be useful when an application embeds dashboards for customers or other users who do not access QuickSight directly as registered users.
| Requirement | Approach to evaluate |
|---|---|
| Permissions tied to registered QuickSight users | User-based rules |
| Permissions managed through supported user groups | User-based rules |
| Embedded dashboards using supported session attributes | Tag-based rules |
| Customer-specific access in an application | Evaluate the appropriate embedding and RLS configuration |
The correct approach depends on the identity model, embedding method, and security requirements. Verify the applicable QuickSight edition and feature prerequisites before implementation.
Before configuring row-level security, review the following requirements.
Identify the field or fields that determine which records a user may access. Examples include region, customer identifier, facility identifier, department, or business unit.
Ensure the relevant fields contain consistent values and can be matched to the permission rules.
Determine how permissions will be assigned and maintained. Confirm the identities or group identifiers required by your selected RLS approach.
Create a permissions dataset with the required identity fields and the corresponding values users are authorized to access.
Check for duplicate, missing, or inconsistent mappings before applying the rules.
Confirm that administrators have the appropriate permissions to configure the dataset and that intended users have the necessary access to the relevant QuickSight resources.
Identify representative users, including users with different access levels. Establish expected results for authorized and unauthorized records before deploying the rules.
The following workflow outlines the main implementation stages. Exact interface labels and configuration options may vary by QuickSight edition and product updates.
Open the dataset that supports your QuickSight analysis or dashboard.
Identify the field or fields that determine access restrictions.
For example, a sales dataset might contain:
If users should see only their assigned regions, the Region field may be part of the RLS mapping.
Choose fields that represent the intended security boundary. Do not assume that hiding a field or applying a visual-level filter provides the same protection as dataset-level RLS.
Prepare a separate dataset that maps users or groups to permitted values in the main dataset.
For example:
| UserName | Region |
|---|---|
| analyst1@example.com | East |
| analyst2@example.com | West |
| analyst3@example.com | North |
This is an illustrative example, not a complete production-ready permissions file. Use the identity and rule fields required by the selected QuickSight RLS configuration.
Validate the usernames, group identifiers, and values before proceeding.
Make the permissions data available through a supported source and load it into QuickSight.
Check that:
A mismatch between a permissions value and the main dataset can prevent the expected rows from being returned.
Open the relevant dataset's security or RLS configuration.
Select the supported rule method and configure the permissions dataset or rules as required.
For user-based rules, map the relevant identity field to the corresponding user or group identifier and associate it with the field values that determine data access.
For tag-based rules, configure the applicable session-tag mappings for the supported embedding scenario.
Follow the current AWS QuickSight RLS documentation for the exact configuration steps.
After configuring RLS, validate the behavior using representative users and datasets.
Check that:
Do not assume that a successful configuration automatically proves that all access paths are secure.
Test the implementation in a controlled environment before releasing it to business users.
Include scenarios for authorized access, unauthorized access, users with multiple permissions, missing mappings, and changes to permissions.
Document the expected and observed results. Resolve unexpected access before enabling the configuration for production use.
Consider an organization that uses a shared sales dashboard across three regions.
The main dataset contains sales records for East, West, and North. The organization wants each analyst to see only their assigned region.
| Transaction ID | Region | Revenue |
|---|---|---|
| T001 | East | 12,000 |
| T002 | West | 18,000 |
| T003 | North | 15,000 |
| T004 | East | 9,000 |
| T005 | West | 21,000 |
| UserName | Region |
|---|---|
| analyst1@example.com | East |
| analyst2@example.com | West |
| analyst3@example.com | North |
If a user is authorized for multiple regions, the permissions dataset may need multiple corresponding rule records, depending on the configured rule model.
This example demonstrates the basic concept. Production implementations must use the exact field names, supported identity fields, and rule format required by QuickSight.
Check that every permitted region exists in the main dataset and that the identity values match the appropriate QuickSight users or groups.
Test the configuration with each representative user and confirm that unauthorized rows remain inaccessible. Also validate behavior when users are added, removed, or assigned different regions.
A common implementation consideration is the data type used in RLS rules.
AWS documentation states that fields used for standard user-based RLS rule matching must contain text, such as string, character, or varchar values. Numeric and date fields are not directly supported as rule-matching fields in the same way.
Suppose a dataset uses a numeric field called CustomerID to identify customer records. If that field is used in a permissions rule, you may need to create an appropriate string representation for matching, subject to the supported configuration.
Similarly, a date-based restriction may require a carefully designed textual representation if the relevant RLS configuration supports that mapping.
However, converting values to strings does not automatically make every security scenario valid. The representation must be consistent, unambiguous, and correctly matched to the underlying dataset.
For the latest technical requirements, consult AWS documentation for user-based row-level security.
Even when RLS is configured correctly, inconsistent identities, permission mappings, or field values can produce unexpected results.
| Issue | Possible cause | What to check |
|---|---|---|
| User sees no records | Missing or mismatched permissions | Validate identity mappings and authorized field values |
| User sees unexpected records | Incorrect or overly broad rules | Review permissions rows and rule logic |
| Some authorized records are missing | Inconsistent values or data types | Compare rule values with the main dataset |
| Group permissions do not behave as expected | Incorrect group mapping or membership | Verify group identifiers and memberships |
| Date or numeric restrictions fail | Unsupported or inconsistent rule-value representation | Confirm supported data types and matching formats |
| Changes do not produce expected access | Configuration, identity, or data-refresh issue | Recheck the applicable RLS configuration and refreshed data |
Start by identifying one affected user and a small set of records that should or should not be visible.
Trace the user's identity through the permissions dataset, verify the relevant field values, and compare the expected access with the observed result.
Test changes in a controlled environment before modifying production security rules. Avoid broadening access as a temporary fix without understanding the cause.
A reliable RLS implementation requires consistent permissions management, testing, and ongoing monitoring.
Grant only the data access necessary for each user or group. Avoid broad or blank permissions mappings unless the documented behavior is explicitly intended and appropriately restricted.
Establish a process for updating access when employees change roles, join a department, or leave the organization.
Review stale mappings and ensure that changes to permissions are reflected in the appropriate dataset and configuration.
Verify both the records users should see and the records they must not see.
Include users with multiple permissions, missing mappings, and recently updated access.
Keep identity fields, rule values, and relevant dataset fields consistent. Document data transformations that affect the values used by RLS.
RLS is not a replacement for appropriate identity management, dataset permissions, secure embedding, and other access controls.
Review the complete access path to ensure that sensitive data is protected consistently.
Maintain records of the permissions model, rule ownership, testing outcomes, and changes. Periodically review whether the configuration still matches business requirements.
Row-Level Security in Amazon QuickSight enables organizations to share dashboards and analytics while controlling which records users can access. When implemented correctly, it can support regional reporting, departmental analytics, customer-specific dashboards, and other scenarios that require differentiated data access.
A successful implementation requires more than enabling a setting. Organizations should prepare a reliable permissions dataset, configure the appropriate RLS method, validate identity mappings, understand data-type limitations, and test access across representative scenarios.
By combining clear access rules with ongoing permissions reviews and security testing, organizations can build more reliable analytics experiences while protecting sensitive business information.
Explore DataTerrain to learn about our data and analytics services. If your modernization initiative also includes legacy BI reporting, visit DataTerrain Reports Conversion to explore reporting modernization options.
For assistance discussing your analytics and BI modernization requirements, contact DataTerrain.