Description
The range of implementations allowed by the create/update/drop table API means that permissions need to be handled carefully and be fully optional.
In addition, the two payload formats that can be used to create or update a table do not have a clear mechanism to carry along permission-related info.
minimally, if table ownership and permissions are explicitly managed and exposed by a service (eg CANFAR youcat), the minimal and I think viable set of items is:
- owner
- boolean flag to indicate anon query is allowed
- a group that is allowed to read (GMS group URI)
- a group that is allowed to write
All of these need to optional and an implementation could completely ignore this and be compliant. But to write a client that can make use of different services that do care about permissions, we need some agreed mechanism to convey the permissions to the client and for the client to set the permissions.