Hi, I'm creating one workspace per client (busines...
# gooddata-cloud
r
Hi, I'm creating one workspace per client (business) for our SaaS use case. What is the best way to make sure the business only sees their data? I would want to have a master workspace using which i clone and create other workspaces, the insights would mostly be same, the only thing we want is to apply the client_id filter in each workspace
y
Hi @Rajat Hans, Thanks for reaching out. You can set up data filters in workspaces and data filters for users. Workspace Data Filters (WDF) allow you to limit the data available in child workspaces. By setting a WDF, you can define what subset of the data from a parent workspace will be available in its child workspaces. For example, a parent workspace may contain a visualization displaying the data from all company departments, but a child workspace will see only the Sales department-related data in this visualization. User Data Filters or data permissions, allow you to restrict data that is available for specific users in specific workspaces. By setting a UDF, you can define what subset of the data in a workspace will be available for individual users or user groups. As opposed to workspace data filters (that point to a specific column in a specific table), user data filters use MAQL expressions. You can refer to the documentation attached for more information. Hope this helps.
r
hey what i meant was that i do not want to have child workspaces, i want the parent workspace to have limited data from the data source connected
j
Hi Rajat, if you don’t want to go with the workspace hierarchy, you can use User Data Filter as my colleague mentioned above. These filtered are propagated through connections in the LDM and you can assign them on specific users, or user groups.
r
hey i did not fully understand how this would work. I have a SaaS app and want each workspace to be linked to a client (business) in my SaaS app. They should only be able to access their own data. Now i can't do WDF because that works on child workspaces, and i also can't add any filter directly on the parent workspace itself. How can i implement UDF? do i need the user_id to be present in all datasets? do i need to create a new data set which serves as a pivot, basically mapping user_id to client_id?
j
Hello Rajat, the user ID does not need to be present in the datasets, nor do you need to create new datasets. Follow the steps below to set user data filters, and let us know if you face any issues: https://www.gooddata.com/docs/cloud/workspaces/user-data-filters/