So I've read the knowledge article and this blog post (https://blogs.oracle.com/pa/entry/how_to_revoke_grant_data) on how to control access to VA, but the only permission set that seems available is for author access (va.author). Is there not a va.consumer or read-only type permissions for VA yet?
If you give the BIConsumer role the policy set for VA (like that is given to BIAuthor by default), it allows BIConsumers access to VA but also gives them authoring and edit capabilities. If you are trying to embed a VA project on a dashboard, this is obviously an issue because any consumers will be able to edit the visualization. While you can set the default mode to presentation by changing the VA query string, this doesn't prevent the user from changing it back to authoring mode and making edits. The VA docs talk about "read only" but never indicate how to actually use it.