Good Morning Suba,
There are a number of ways to achieve the security and separation of data you desire.
My first question / suggestion: Why not create separate Projects and User Groups on the Tableau Server or Online Instance for each customer?
In other words Create a project entitled Customer A, and another Customer B. Create the corresponding user groups, Customer A Group, Customer B Group.
Then, permission access to only the appropriate project for the affiliated group?
This works very similar to permissions on many other server applications, Windows AD, etc.
Here are a couple of great articles explaining this concept in greater detail:
Great overview and discussion of permissions from one of our partners:
If you found this response helpful and/or it answered your question, please mark it here accordingly.
Tableau Online Deployment Advisor