Reputation: 117
In our business case we want to implement row level security for our authors. Our customers would have the author access to the Analysis page. They can create their visualization and publish the dashboards. Our parquet files are stored in S3 and those are queried through Athena tables. So the quicksight will be connected to anyone those Athena tables as dataset/datasource.
Say we have a table as follows:
|. 1. | Sales. | M
|. 2. | Marketing | N
|. 3. | Sales. | O
|. 4. | Developer. | P
|. 5. | Developer | Q
|. 6. | Marketing. | R
The author should have the access to the same department rows/data on the analysis page. Say author M is opening the analysis, he/she should get only row 1 and 3. Similar way author P should see the rows 4 and 5. Quicksight row level security option was looking promising. But we found that is for the readers on published dashboard. Is there a way we can do the same things for authors on the analysis page?
Upvotes: 0
Views: 563
Reputation: 117
There is also another way which I have recently found from the quicksight. This looks quite straight forward. Here are the steps
Upvotes: 0
Reputation: 83
What you need to do in order to control row-level security access is enable Lake Formation on your account to control your data lake.
To enable Lake formation, follow this official documentation: https://docs.aws.amazon.com/lake-formation/latest/dg/getting-started-setup.html
When granting access to your authors, you first have to create data filters in lake formation. Here's the documentation for that: https://docs.aws.amazon.com/lake-formation/latest/dg/data-filters-about.html
To create the data filter you have to:
After creating the data filter. You have to grant permissions to users:
That's it. You'll basically by now have granted to specific users (or group of users), specific permissions to rows in your table or tables.
NOTE: If you haven't used lake formation yet, it has a learning curve. But it is essential for your current use case and I'm sure it will help you with future uses cases on your data lake.
Upvotes: 1