We are trying to setup a tableau online environment where our customers can login and can consult one or more pre-defined dashboards.
Each of the customers sees the same dashboard but they cannot see each others data.
The datasource is Redshift from which extracts per customer are created. I don't really like the extract part, but without the extracts the workbooks become too slow.
I would like to automate the creation of new customers. For that a number of actions in Redshift are needed (create login, create view on data to limit login's view on the data), which are easy enough to automate. Furthermore, a number of actions in Tableau online are needed. At this point I am trying to find out a way to automate the admin tasks in Tableau online through the REST API
I assume I will need to
- Create a Tableau online login (should be easy)
- Will have to associate the login with a license (not sure how to do this)
- Create a user specific project
- Upload the "default" dashboard workbook to that project (should be easy)
- Create a new data source so that it authenticates to Redshift using the previously created Redshift login (not sure how to do this)
- It might be necessary to update the custom SQL so that it explicitely refers to the Redshift view (not sure how to do this)
- Update the default workbook to use the previously created data source (not sure how to do this)
- Set correct permissions for project, workbook and data source (I guess that should be possible)
Would anyone have any guidance on how to achieve the actions in red. Or, are there alternative ways to setup such an environment without compromising the privacy of the data?
All tips warmly welcomed!