If you build your data model, then create a Tableau extract from it and publish that extract, then they will be able to connect to the extract (i.e. the data) without having access to SQL Server. They will just need access to the extract data source. If you wish to maintain a live connection, then they will need at least read-only access to the tables, views, etc. you've used in your data model. Does that make sense?
You need to create an extract connection.
Following up on this one. Let us know how we can help further.