Since Permissions on Tableau Server don't go down to the individual Worksheet, if they must be in the same Workbook, you're going to probably have to resort to building Dashboards that have baked into them the user-based Calculated Fields like ISMEMBEROF() .
That is going to be less elegant, as Tabs would still be visible to users even if you can suppress the display of the viz on those tabs.
I have had similar deployment requirements on occasion.
What I did was essentially Publish two different variants of the same Workbook (one with all the Worksheets, and one with a subset of them) -- into two different Projects -- then set permissions accordingly to those Projects. Since users can't see the Project not intended for them, they only have visibility to the variant of the Workbook I want them to see.
Thank you for the fast reply Ken. It's good to know that users cant see the projects they don't have access to. Your example on ISMEMBEROF() is also interesting, I think I will use it in another workbook I am working on.