The way to download a file from a VM is to setup an FTP or an SFTP server. So if you nor your users don't set it up they will not be able to download it.
That isn't exactly true though. If you are allowing them to SSH into the VM and they can see the file, they can simply issue a cat
operation to see the data and copy it into their local machines. And even if you overwrite the cat
command to avoid being used in this situation, they could still use tac
and restore the file on their end. Furthermore, if they can execute binaries they could create their own service to send the file.
There are actually many ways to get the file even if you don't want to, but what I'm trying to say is that the data will not be completely safe as long as they have access to the dataset file.
Regardless, something that comes to my mind is that you could import the data in the dataset into a Cloud SQL instance so that they can query the data but not get the file. I'm linking you the documentation about how to import the data into a MySQL, PostgreSQL or SQL Server instance.
Let me know if this approach suits your needs.