On Mon, 13 Jun 2022 at 19:12, Chris Lambertus <c...@apache.org> wrote: > > > > > On Jun 13, 2022, at 10:57 AM, Sam Ruby <ru...@intertwingly.net> wrote: > > > > On Mon, Jun 13, 2022 at 1:06 PM Chris Lambertus <c...@apache.org > > <mailto:c...@apache.org>> wrote: > >> > >>> On Jun 12, 2022, at 4:54 PM, sebb <seb...@gmail.com> wrote: > >>> > >>> If the problem is just that recreating ou=meta is messy, then there > >>> are other solutions. > >>> > >>> For example, it should not be too difficult to compare the lists and > >>> only update those which have changed. > >>> Probably can also speed this up by comparing last updated dates. > >>> > >>> It might also make sense to enhance Whimsy to update the ou=meta list > >>> at the same time as the owners. > >>> As Sam points out this would require that the karma needed must agree > >>> with the karma for owners. > >> > >> Yes, this whimsy enhancement is ultimately what my proposal is -- update > >> whimsy to maintain the pmc groups with instead of having a separate > >> drop/parse/create system as we do now. I am not sure what you mean by > >> "karma needed must agree" though. Are you referring to LDAP ACLs? if so, > >> the policy would already allow this if the ou is under ou=groups. > > > > I preface the following by stating that what I am about to say may be > > a result of my ignorance of LDAP configuration capabilities, but I > > believe the crux of the issue can be found on the following line: > > > > https://github.com/apache/infrastructure-p6/blob/d0e1160c2a5d0a7f6b91978933333f126f80013f/modules/ldapserver/templates/slapd.conf.erb#L321 > > > > <https://github.com/apache/infrastructure-p6/blob/d0e1160c2a5d0a7f6b91978933333f126f80013f/modules/ldapserver/templates/slapd.conf.erb#L321> > > > > What that line says is that (in addition to root, secretary, pmc > > chairs, and the secretarial team) members of [P]PMCs can edit their > > own group. So, for example, PMC members (owners) can add/remove > > committers (members). > > I see what you mean. If whimsy is using the auth context of the logged-in > user, then they would not be able to write to a theoretical > cn=whimsy-pmc,ou=pmcs,ou=group,dc=apache,dc=org because the group such as > cn=whimsy-pmc would only contain 'member' attributes. > > Given the ACL, this -would- work if they were an ASF Member, a PMC Chair, or > Secretary. The workaround here would be to add both owner and member > attributes, but then that begs the question, how are owners initially added? > By the Secretary? > > > Now for a thought experiment. If 'owner' is problematic for some > > tools, then what would an LDAP configuration look like with NO owners? > > It would look the same as it did prior to the owner/member migration, with a > separate objects for cn=project and cn=project-pmc. Since cn=project already > works fine, we just need to (re)add and populate cn=project-pmc with a member > attribute. (And possibly also a matching owner attribute as described above.)
Would that still allow PMC members to update the committer lists? > > What we would need is the ability to specify "members of groups in > > this subtree are authorized to write to CORRESPONDING groups in > > ANOTHER subtree". We have the ability to say that "members of THIS > > SPECIFIC group can write to THAT SPECIFIC group". And the ability to > > say "members of THIS SPECIFIC group can update that entire SUBTREE". > > But as far as I know (and this may very well be my ignorance), there > > is no way to grant corresponding members of one subtree update access > > to another subtree. > > I'm not sure about this either. I could easily update the genmeta script to > add both owner and member values instead of just member values, which would > then allow the ACL to work as expected. > > Does this seem like a reasonable approach? It seems quite complicated compared with just fixing the existing script to generate updates rather than recreating everything. > -Chris > > > > > >>> This would minimise process changes as well as minimising LDAP updates. > >> > >> This is the goal. > >> > >>> In case there are Infra scripts that update owners it would make sense > >>> to keep a regular check on the consistency of the lists. > >> > >> Yes, I have been looking to see if there are any infra scripts which would > >> need to be updated, but I currently believe the only active tooling is > >> within whimsy. > >> > >> -Chris > > > > - Sam Ruby > > > >>> Sebb > >>> On Mon, 13 Jun 2022 at 00:32, Sam Ruby <ru...@intertwingly.net> wrote: > >>>> > >>>> From a whimsy requirements perspective, the key requirement is that > >>>> PMC members can update LDAP the PMC (i.e., both the PMC and committers > >>>> lists). > >>>> > >>>> On Sun, Jun 12, 2022 at 6:56 PM sebb <seb...@gmail.com> wrote: > >>>>> > >>>>> On Sun, 12 Jun 2022 at 21:26, Chris Lambertus <c...@apache.org> wrote: > >>>>>> > >>>>>> > >>>>>> Hi folks, > >>>>>> > >>>>>> I have been working on some updates to the LDAP service, and I would > >>>>>> like to get rid of ou=meta,ou=groups,dc=apache,dc=org (or at least the > >>>>>> process which manages it.) > >>>>>> > >>>>>> Some history -- this ou was created to address a problem which arose > >>>>>> after project groups were converted to member/owner (INFRA-16188). The > >>>>>> Atlassian Crowd service that feeds authentication and authorization > >>>>>> for Jira and Confluence does not understand the "owner" concept. > >>>>>> > >>>>>> Infra had previously created local roles in cwiki and jira, and > >>>>>> generally pushed maintenance of memberships of said roles to the > >>>>>> project owners defined within cwiki and jira. Over time this grew > >>>>>> cumbersome, and we elected to switch to LDAP-based groups, but we only > >>>>>> had access via Crowd to the attr=member version of the groups, so we > >>>>>> could not assign PMC-based roles. > >>>>>> > >>>>>> Because of this, I created a stop-gap process which drops and reloads > >>>>>> ou=meta nightly, populating > >>>>>> ou=$project-pmc,ou=meta,ou=groups,dc=apache,dc=org with attr=member of > >>>>>> the PMC members. This process is awkward, and causes problems with the > >>>>>> LDAP audit logging system. > >>>>>> > >>>>>> I would like to gather feedback on re-creating and maintaining the > >>>>>> ou=pmc tree in parallel with the owner/member paradigm that is now in > >>>>>> place, specifically to support Crowd-based applications (which now > >>>>>> also include JFrog/artifactory,) or other 3rd party tooling which may > >>>>>> not understand member/owner. > >>>>>> > >>>>>> At this time, I believe the only ASF tooling which creates or modifies > >>>>>> the owner attribute of project groups is Whimsy, so any code > >>>>>> adjustments would likely have to happen here. > >>>>> > >>>>> AFAIK Whimsy is not the only place where accounts are created and PMC > >>>>> memberships updated; there are likely some Infra scripts that do so. > >>>>> > >>>>> It's not clear to me whether the existing owner attributes will be kept > >>>>> or not. > >>>>> Indeed I'm not clear what the proposal is. > >>>>> > >>>>>> What are your thoughts? > >>>>>> > >>>>>> Thanks, > >>>>>> Chris > >>>>>> ASF Infra >