0
votes

I have data in S3 and RDS, and use AWS Glue + Athena as a DW currently.

My customers (500+) are:

  1. Internal customers: for querying (SQL) data and reporting (hence Athena)
  2. External customers: for querying (SQL) their data, hooking up the the data warehouse to a BI product (e.g. Tableau) for reporting

Questions:

  1. Is Redshift a better DW (vs Athena/Glue) or RDS?
  2. How do I setup the DB so that it is appropriate for external customers to access a limited subset of data of the DW?

What I think:

  1. Redshift is better for concurrent SQL queries, scalability, performance etc and is able to integrate with the most common BI resources.
  2. Redshift is not good for limiting access / I have not seen a smart way of restricting access at a table level. One option is to 'copy' the data into a new schema but this means duplication of data. In RDS (PostgreSQL) you can create a view of the data and expose that to specific clients only. If there is a smart way to tackle this I am curious?
1

1 Answers

0
votes

Amazon Redshift has the ability to grant and revoke access at the table level.

See:

You can also put users in Groups and apply the access permissions to the group. Thus, put all external users in the same group.