How to do discretionary access control using roles | Synapse