At the moment, there are no view-level restrictions in Kibana, only data-level restrictions based on Elasticsearch+Shield.
So, in your scenario, when user A logs in, they will see all index pattern objects in Kibana. However, if at the Shield level they do not have permissions to modify those settings at the .kibana index level, they will not be able to change these patterns. Beware, though, that failure modes may vary until this issue is addressed: https://github.com/elastic/kibana/issues/4731
Similarly, if these users do not have access to the data in those indices, even if they see saved searches, visualizations, and dashboard objects based on those indices, they will not be able to view the data that is queried from Elasticsearch based on that configuration - so they will see empty search results, empty charts, empty dashboards.
So, in summary, your data is protected at the Shield level (assuming permissions are set correctly), even if the user sees those objects in Kibana.