Skip to Content.
Sympa Menu

grouper-users - Re: [grouper-users] PSPNG: Handling groups that require a member

Subject: Grouper Users - Open Discussion List

List archive

Re: [grouper-users] PSPNG: Handling groups that require a member


Chronological Thread 
  • From: Michael R Gettes <>
  • To: Bert Lindgren <>
  • Cc: "" <>
  • Subject: Re: [grouper-users] PSPNG: Handling groups that require a member
  • Date: Wed, 11 Jan 2017 13:40:05 -0500
  • Ironport-phdr: 9a23:eJZAdxCcdR+hmW1wYoyIUyQJP3N1i/DPJgcQr6AfoPdwSPT5ocbcNUDSrc9gkEXOFd2CrakV16yM4+u5ADdIyK3CmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+KPjrFY7OlcS30P2594HObwlSijewZbx/IA+ooQjSucUanJZuJ6gswRbVv3VEfPhby3l1LlyJhRb84cmw/J9n8ytOvv8q6tBNX6bncakmVLJUFDspPXw7683trhnDUBCA5mAAXWUMkxpHGBbK4RfnVZrsqCT6t+592C6HPc3qSL0/RDqv47t3RBLulSwKLCAy/n3JhcNsjaJbuBOhqAJ5w47Ie4GeKf5ycrrAcd8GWWZNW8BcXDFDDIyhdYsCF+oPM+VEoIbyulUAoxmxCxeiBO3o0TJHnGP63agg3uQhDQ3L3gotFM8OvnTOq9X1Mb8fX+e0zKbUzTXMde1Z2TPg44bUbxsvoO+DXa5sccXP0kkkCgTIjlCKqYzqMT6Zyv8As3CA7+p9T+6glXMoqxxorzWp28wihI7JhocPxVDF8yV02Ic1JdukSEFle96kFoVftz2EO4dsXMwtXnxotSAnwbMFoZ62ZDUGxIokyhLFdvCLbouF7gj+WOueIDp0nm9pdby+ihu07EOu0PfzVtOu31ZPtidFksfDtnQK1xHL9siHUOVx8lmn2TqSygzc8PtILlovlaXFN54t2KYwloEOsUjZACD5hVj2gLeXdkUi5Oeo9/zqbqj4qpKfLYN4lxzyP6c0lsCiDuk1MxICU3WV9Om9zLHj+Ff2QLROjv04iKnZt5XaKNwepq6jDA9Y3Jov5g2nDze9zdQUh2cII09YeB6flYjmJ0nOIOzkDfe4m1msny1rx/fbPr35HJrNNGHPkKr6fblj8U5c0xE+zdRe55JPFrEBO+z/VlXwtNzeEh82LRa0w+D5B9VhyI8SQ3yADbKEMPCajVjdzO81P6GoZYkZtyzwLbBx7fP0kTkzlFJYeaiv0ZQNZXaQGfV6ZUqQfXfngpEMHXpc7SQkS+m/rVyJUTdeYz6IF40x+i02E8ryCJ3MHdiFmKecmiq3A8sFNSh9FlmQHCKwJM2/UPAWZXfXe5c5nw==

Hi Bert,

I am afraid I am not appreciating the reasoning for the “faux” member approach.  The LDAP standard has been around for quite some time and whether using groupOfNames or groupOfUniqueNames objects, one membership is required to create the group object and if there are no members, then remove the group object.  Why should we be taking an alternate approach?

Thanks

/mrg

On Jan 11, 2017, at 11:54 AM, Bee-Lindgren, Bert <> wrote:

Hello,

I'm trying to start a discussion and get to a decision about how PSPNG should handle LDAP groups where the schema requires a value for the membership attribute. This will eventually lead to a solution for GRP-1376.

TL;DR: We would like to extend PSPNG's existing group-provisioning process to support group schemas that require members. However, we believe that this will require a pspng-configuration option that will enable persistent maintenance of a faux group member.

I don't know if any background is needed, but let's summarize by saying there are three flavors of group schemas in how they require or don't require memberships:
1) Standard LDAP Group objectclasses (rfc 2256) that require at least one member
2) Directory servers that have redefined the "standard" LDAP Group objectclasses in their default schemas. They don't require members
3) Directory servers (Active Directory) that have their own schemas that don't require members.

This thread is about how Grouper should support provisioning to (1).

In general, here are some observations:

- It's very good if all these (1)-(3) situations can be provisioned by PSPNG in a single implementation

- It's nice when groups go from new --> empty --> populated --> empty --> populated --> empty --> deleted in a nice, step-wise way. This means seeing the group in LDAP every step along the way.


- When removing the last member from a (1) group, the group needs to be deleted. It will likely slow down PSPNG noticeably if it has to read additional group information to avoid deletion-not-allowed errors or will create logging noise and modest slowness if the extra information is read in response to ldap errors to see if the group actually needs to be deleted.

- Sometimes, groups that are deleted and recreated aren't exactly the same. For example, a recreated Active Directory group would have a different SID. Therefore, we cannot standardize our handling of groups by implementing things as if they all require members.

- Type (1) groups today are created in (at least) some universities with an initial or persistent Faux member -- an account or dn that doesn't represent a real user. Pspng can be set up to do that today (by adding the Faux member to the group-creation template), but that member would be deleted during full-sync, resulting in errors when that is the last member or when another last member is eventually removed from a group.


My conclusions:
a) A single group-provisioning system can handle all the ldap group types, if we take the a Faux-member approach.
b) If Faux-members are too kludgy, then we'll need a separate, noisier and slower implementation that handles provisioning of groups that require members.

What do you all think about this?

Sincerely,
  Bert Bee-Lindgren




Archive powered by MHonArc 2.6.19.

Top of Page