Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fine grain access (column filtering) #558

Closed
20 tasks done
laurent-thiebaud-gisaia opened this issue Nov 28, 2019 · 1 comment
Closed
20 tasks done

Fine grain access (column filtering) #558

laurent-thiebaud-gisaia opened this issue Nov 28, 2019 · 1 comment
Assignees
Labels
type:enhancement Feature that impacts end-user
Milestone

Comments

@laurent-thiebaud-gisaia
Copy link
Contributor

laurent-thiebaud-gisaia commented Nov 28, 2019

From a header parameter with a list of allowed (coma-separated) fields, filter the rest responses to use and return only these fields, if the header is provided. The collection's id, timestamp, geometry and centroid fields are always allowed.

The following endpoints are impacted in /explore :

  • /_aggregate
  • /_count
  • /_describe
  • /_list
  • /_geoaggregate
  • /_geosearch
  • /_range
  • /_search
  • /_tile

If a request contains, in its filter, a forbidden field, then a code 403 should be returned. The following parameters are impacted:

  • f
  • q; moreover if a 'q' parameter contains no target field but the column filter header is present, an exception should be thrown
  • sort
  • include
  • agggregations (main field, fetch_geometry, metrics and fetch_hits).

In search requests, only allowed fields should be returned.

In /explore/_describe & /explore/_list:

  • the returned properties should be filtered. If a node has no allowed property, then it is hidden.

In ogc-wfs project:

  • DescribeFeatureType: the returned properties should be filtered
  • GetFeature: the returned properties should be filtered. Return 403 if a filter field is forbidden
  • GetPropertyValue: return a 403 if a requested property isn't allowed. Return 403 if a filter field is forbidden

In opensearch project:

  • only return templates with available fields.

At the end,

  • update the documentation
laurent-thiebaud-gisaia added a commit that referenced this issue Nov 28, 2019
Apply column filtering to explore endpoints
(except "describe").
Update tests accordingly.
See #558
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 3, 2019
Apply column filtering to explore endpoints
(except "describe") by returning a 403
if the user uses an unavailable column.
Update tests accordingly.
See #558
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 3, 2019
Apply column filtering to explore endpoints
(except "describe") by returning a 403
if the user uses an unavailable column.
Update tests accordingly.
See #558
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 4, 2019
Apply column filtering to explore endpoints
(except "describe") by returning a 403
if the user uses an unavailable column.
Update tests accordingly.
See #558

Filter the describe

Apply columns filtering
to /_describe & /_list.
With tests.
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 9, 2019
Filter the fields in _describe and
_list.
Add integration tests.
Related to #558
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 10, 2019
Apply column filtering to explore endpoints
by returning a 403 if the user uses an
unavailable column.
Update tests accordingly.
See #558
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 10, 2019
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 16, 2019
Filter the fields in _describe and
_list.
Add integration tests.
Related to #558
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 16, 2019
Apply column filtering to explore endpoints
by returning a 403 if the user uses an
unavailable column.
Update tests accordingly.
See #558
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 17, 2019
Update tests accordingly.
Related tp See #558
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 17, 2019
With tests accordingly.
Closes #558.
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 18, 2019
Apply column filtering to explore endpoints
by returning a 403 if the user uses an
unavailable column.
Update tests accordingly.
See #558
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 18, 2019
Update tests accordingly.
Related to #558
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 18, 2019
With tests accordingly.
Closes #558.
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 18, 2019
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 20, 2019
Update tests accordingly.
Related to #558
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 20, 2019
Update tests accordingly.
Related to #558
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 20, 2019
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 23, 2019
Filter the fields in _describe and
_list.
Add integration tests.
Related to #558
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 23, 2019
Filter the fields in _describe and
_list.
Add integration tests.
Related to #558
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 23, 2019
Apply column filtering to explore endpoints
by returning a 403 if the user uses an
unavailable column.
Update tests accordingly.
See #558
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 24, 2019
Filter the fields in _describe and
_list.
Add integration tests.
Related to #558
laurent-thiebaud-gisaia added a commit that referenced this issue Dec 24, 2019
Apply column filtering to explore endpoints
by returning a 403 if the user uses an
unavailable column.
Update tests accordingly.
See #558
@MohamedHamouGisaia MohamedHamouGisaia added this to the v12.7.4 milestone Jan 7, 2020
@laurent-thiebaud-gisaia
Copy link
Contributor Author

FGA should also be applied to v12

laurent-thiebaud-gisaia added a commit that referenced this issue Jan 13, 2020
Filter the fields in _describe and
_list.
Add integration tests.
Related to #558
laurent-thiebaud-gisaia added a commit that referenced this issue Jan 13, 2020
Apply column filtering to explore endpoints
by returning a 403 if the user uses an
unavailable column.
Update tests accordingly.
See #558
laurent-thiebaud-gisaia added a commit that referenced this issue Jan 13, 2020
Filter the fields in _describe and
_list.
Add integration tests.
Related to #558
laurent-thiebaud-gisaia added a commit that referenced this issue Jan 13, 2020
Apply column filtering to explore endpoints
by returning a 403 if the user uses an
unavailable column.
Update tests accordingly.
See #558
laurent-thiebaud-gisaia added a commit that referenced this issue Jan 31, 2020
Filter the fields in _describe and
_list.
Add integration tests.
Related to #558
laurent-thiebaud-gisaia added a commit that referenced this issue Jan 31, 2020
Apply column filtering to explore endpoints
by returning a 403 if the user uses an
unavailable column.
Update tests accordingly.
See #558
laurent-thiebaud-gisaia added a commit that referenced this issue Feb 5, 2020
Filter the fields in _describe and
_list.
Add integration tests.
Related to #558
laurent-thiebaud-gisaia added a commit that referenced this issue Feb 5, 2020
Apply column filtering to explore endpoints
by returning a 403 if the user uses an
unavailable column.
Update tests accordingly.
See #558
@MohamedHamouGisaia MohamedHamouGisaia added the type:enhancement Feature that impacts end-user label Feb 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:enhancement Feature that impacts end-user
Projects
None yet
Development

No branches or pull requests

2 participants