GeoTools / GeoServer PMC meeting - 2024-05-07Attending

   -

   David Blasby
   -

   Peter Smythe
   -

   Jody Garnett
   -

   Andrea Aime


Actions from prior meeting:

   -

   [DONE] Jody: Make a PR for GSIP 224
   <https://github.com/geoserver/geoserver/wiki/GSIP-224>
   -

   [DONE] Peter: Make a similar proposal for GeoTools
   -

   [DONE] Jody: Make a Proposal for geoserver-users transition to discourse


Agenda:

   -

   GSIP-224 - Individual contributor clarification
   <https://github.com/geoserver/geoserver/wiki/GSIP-224>
   -

   GSIP-223 - Community module graduation, amending generality rule
   <https://github.com/geoserver/geoserver/wiki/GSIP-223>
   -

   GSIP-222 - Promote Raster Attribute Table module to extension
   <https://github.com/geoserver/geoserver/wiki/GSIP-222>
   -

   GSIP-225 - Migrate geoserver-users from SourceForge to discourse
   <https://github.com/geoserver/geoserver/wiki/GSIP-225>
   -


   
https://github.com/geotools/geotools/wiki/Individual-contributor-clarification
   -

   Security roles internals
   -

   Record of meeting minutes


Actions:

   -

   Jody: Make a ticket about GROUP_ADMIN not having permission to create a
   new user (GEOS-10938 <https://osgeo-org.atlassian.net/browse/GEOS-10938>)
   -

   Jody: Make a ticket on clean up of admin roles and constants (GEOS-11389
   <https://osgeo-org.atlassian.net/browse/GEOS-11389>)
   -

   Jody: Open a ticket to refine Demo Page Javascript rewrite (GEOS-11390
   <https://osgeo-org.atlassian.net/browse/GEOS-11390>)


GSIP-224 - Individual contributor clarification

https://github.com/geoserver/geoserver/wiki/GSIP-224

   -

   Is this done? yes

GSIP-223 - Community module graduation, amending generality rule

https://github.com/geoserver/geoserver/wiki/GSIP-223

No PR, Jody made a PR? Can we merge …

   -

   https://github.com/geoserver/geoserver/pull/7603 done
   -

   Does this need backport? Probably not since we only publish from main …


GSIP-222 - Promote Raster Attribute Table module to extension

https://github.com/geoserver/geoserver/wiki/GSIP-222

What is the status?

   -

   Proposal was not completed by the time the release window…
   -

   Not sure if this is merged can we check? Yes …
   -

   2.25 and main!
   -

   Updated Proposals <https://github.com/geoserver/geoserver/wiki/Proposals>
   page to indicate this is complete


GSIP-225 - Migrate geoserver-users from SourceForge to discourse

https://github.com/geoserver/geoserver/wiki/GSIP-225

   -

   Proposal was made, and approved


What happens next:

   -

   user list to discourse is a go, we will wait on SAC for the change
   -

   Expected some kind of PR for the website to provide instructions
   -

   Then notify users of the change
   -

   Proposal has shutting down the SF list after 1 month, and migrate any
   additional messages over


See proposal for details …

Encouragement from mastodon:
https://fosstodon.org/@geoserver/112367510772585467

GeoTools proposal for individual contributors

https://github.com/geotools/geotools/wiki/Individual-contributor-clarification

50% response rate …

   -

   Torben is away so assume +0
   -

   No objections
   -

   Likely to pass on May 9th :D


Could probably safely start the PR 😀
Security roles internals

Email questions

   -

   Hard to talk about due to naming “role_admin” “admin”
   “role_administrator”
   -

   Sometimes objects, sometimes strings


ROLE_ADMINISTRATOR

   -

   This is for the user interface, it unlocks the data admin console screens


ADMINISTRATOR

   -

   This is the “root” kind of access, often used for the REST API
   -

   Unlocks all the admin console for all the screens


GROUP_ADMIN

   -

   Unlocks the security admin console screens


The rest.properties is parsed:

   -

   The constants from GeoServerRole.java
   
<https://github.com/geoserver/geoserver/blob/main/src/main/src/main/java/org/geoserver/security/impl/GeoServerRole.java>
   define the role objects


GeoServerRole ADMIN_ROLE = new GeoServerRole("ROLE_ADMINISTRATOR");

GeoServerRole GROUP_ADMIN_ROLE = new GeoServerRole("ROLE_GROUP_ADMIN");

GeoServerRole AUTHENTICATED_ROLE = new GeoServerRole("ROLE_AUTHENTICATED");

GeoServerRole ANY_ROLE = new GeoServerRole("*");

GeoServerRole ANONYMOUS_ROLE = new GeoServerRole("ROLE_ANONYMOUS");


The
https://github.com/geoserver/geoserver/blob/main/data/release/security/rest.properties
file is parsed:

/**;GET=ADMIN

/**;POST,DELETE,PUT=ADMIN

Parsed by AbstractGeoServerSecurityService.java
<https://github.com/geoserver/geoserver/blob/main/src/main/src/main/java/org/geoserver/security/impl/AbstractGeoServerSecurityService.java>
:

   -

   Has its own contents …

String DEFAULT_NAME = "default";

String DEFAULT_LOCAL_ADMIN_ROLE = "ADMIN";

String DEFAULT_LOCAL_GROUP_ADMIN_ROLE = "GROUP_ADMIN";


XML Role Service allows you to nominate (for a role service):

   -

   Allows you to grant the internal administrator role to a role defined
   externally (like LDAP)
   -

   Allows you to grant the internal group administrator role to a role
   defined externally (like LDAP)
   -

   Does not have a group admin role; makes sense since they are not using
   the internal screens to manage users…


Trying out on empty data directory:

   -

   Defining a test role with workspace admin access worked as expected,
   data screens unlocked
   -

   Experimenting showed that GROUP_ADMIN did not behave as expected; it
   unlocked the security screen - but we did not have permission to add new
   users.
   -

      Action: Make a ticket about GROUP_ADMIN not having permission to
      create a new user
      https://osgeo-org.atlassian.net/browse/GEOS-10938


This shows an incomplete migration from GeoServer 2.1 to GeoServer 2.2:

   -

   It would be difficult to clean up, as the constants have become
   intermixed with the defaults in the data directory …
   -

   Andrea is trying with an empty data directory; to see what defaults are
   baked into the the application: -> ADMIN, while ROLE_ADMIN is nowhere to be
   found
   -


Ideas for a cleanup:

   -

   Many places in the code use either one or the other role (some smart
   ones, both)
   -

   Centralize the check that verifies both in a prominent place
   -

   Deprecate one of the two constants, make sure every admin check goes for
   the new method checking both
   -

   Remove the old one from the default geoserver data directory
   -

   Action: Make a ticket on clean up of admin roles and constants GEOS-11389


   <https://osgeo-org.atlassian.net/browse/GEOS-11389>


Record of meeting minutes

Sent to email list for later reference

Also transparency as PSC.

Chit chat

Should we remove the Demo Requests page?

   -

   Not sure how often it is used for training (its original purpose)
   -

   Can it be rewritten in Javascript? Yes if we have a Javascript developer.

   Action: Open a ticket to refine Demo Page Javascript rewrite  GEOS-11390
   <https://osgeo-org.atlassian.net/browse/GEOS-11390>
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to