Usually other data teams will do this in 1 of two ways.
1. Using Collections: By sharing data with viewers using collections (ie. you create a collections linked to a team and then add resources to that collection) you can create inherited permissions for all things within a collection. This way, instead of sharing things by going to different tables, you can share them on the macro collection level. Let me know if you’ve got any questions about this approach.
2. Using draft / published modes: The other way that you can do this is by leaving the resources that you don’t want to publish on “draft” mode. Draft mode only enables editors / admins to see those resources, meaning that your viewers won’t see those resources.
You can enhance the share settings functionality, you could also use “groups”, which allow you to groups different types of viewers or editors into a group. You can then share the collection with a specific group to ensure that viewers aren’t seeing anything that they shouldn’t see. One of our recommendations is to map groups = collections so you can easily share a collection with a specific group of people. Then, when new people join your workspace, you can easily add them to that group and have them share the same permissions as everyone else in the group.