We have one main production MySQL database with a read replica. This database has some sensitive data from clients that we need to protect.
My goal is to provide access to an external Business Intelligence reporting tool. As with all tools like this, they all say "we have great security, and we never store anything that we don't need, etc." I am still paranoid.
So what I am considering creating a bunch of views on the replica database (read-only) which leave out sensitive data and provide the minimum information that they need. After that, I will provision a new user on the database that only has access to those views. This way they only see the data that I want to give them and it's already read-only so nothing can be modified.
My question is, is this a good way to go about this considering my database has sensitive client information? In general, is this a relatively secure approach?