Data access control via target object and security role
Through the DataControl object it is possible to control data access for a target user(s) for a given object connected to the target by checking if the user(s) belongs to a given role.
For example, if we want to limit access for the captain of a vessel to only be able to view voyages of their vessel, a DataControl object like this has to be posted:
{
    "matcherTarget": "User",
    "matcherAttributeTarget": "key",
    "objectName": "Voyage",
    "attribute": "voyageHeader.vesselCodes.masterUser",
    "dataControlRoleValues":[
    	{"role": "MASTER_ONLINE_VESSEL"}
    ]
}- matcherTarget defines the Dataloy object that has to be used as target object 
- matcherAttributeTarget defines the attribute in the matcherTarget object that has to be used against the attribute of the object (objectName) 
- objectName the Dataloy object that has to be applied the access control 
- attribute the attribute name that links the Dataloy object with the target object 
- dataControlRoleValues list of SecurityRole that the DataControl will be applied 
In the above example if an User that belong to the SecurityRole "MATER_ONLINE_VESSEL" make a query to the endpoint Voyage, the server will return only the voyages that has voyageHeader.vesselCodes.masterUser = {the user that made the query}
Was this helpful?