Skip to Content.
Sympa Menu

comanage-users - Re: [comanage-users] Comanage grouper provisioner group sync

Subject: COmanage Users List

List archive

Re: [comanage-users] Comanage grouper provisioner group sync


Chronological Thread 
  • From: Scott Koranda <>
  • To: Benjeman Meekhof <>
  • Cc:
  • Subject: Re: [comanage-users] Comanage grouper provisioner group sync
  • Date: Fri, 15 Sep 2017 05:31:07 -0500
  • Ironport-phdr: 9a23:vK1CdhTT8+SGBhntQfqSypC4NNpsv+yvbD5Q0YIujvd0So/mwa6zZBGN2/xhgRfzUJnB7Loc0qyN4vCmATRIyK3CmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+KPjrFY7OlcS30P2594HObwlSijewZbB/IA+qoQnNq8IbnZZsJqEtxxXTv3BGYf5WxWRmJVKSmxbz+MK994N9/ipTpvws6ddOXb31cKokQ7NYCi8mM30u683wqRbDVwqP6WACXWgQjxFFHhLK7BD+Xpf2ryv6qu9w0zSUMMHqUbw5Xymp4rx1QxH0ligIKz858HnWisNuiqJbvAmhrAF7z4LNfY2ZKOZycqbbcNgHR2ROQ9xRWjRPDI28cYUBEukPPehXoIbhulQBrxWxCBKwBO/z0DJEmmP60Lck3+knDArI3BYgH9ULsHnMsdv6KKASUfypzKLVyDvDaOlW1i376IfVaB8qvPaBXalzccrW00kgDQXFgUiKpoH+MDOV0/4Cs2mf7+Z6Se2vjGsnphh3rzOyyMksjYzJiZgUylDC7Sh5wYA1JcGmR05hZ96rDodQuz+AO4RoX8wiXnlkuD46yr0eo5K0ZjQKxZI6zBDcc/yKa5aE7xP/WOuTJDp4inFod6mjixu3/kWs1vHwWtSx3VlWsiZIk9zBu3UT2xHd5cWLUuZx80mg1DqVygze6+NJLVo6mKfaMZIt3KA8m5gVvE/eBCH5gl/2g7WTdkg8+uin9eDnYrL+q5+ZLYB0iwX+Pr0vmsy4Heg0KwcPU3aV9OmzzrHj8kr5QLJFjv0yjKbVqozVJcMepqKhAg9V1Jgs6wqnAju40dkUgXsKIVdLeB+ElIflJ1TDLf/kAfujnlihlStky+zHM7DkB5jBMHbOnbj5cbZ48UFcyQ4zzd5F55JTD7EMOOnzWkz2tNzCFBA5NRG7zPz8BdVy04MRQ2OPAquDPKzOtl+I4/ojI/OQa48NpDb9N/8l6ubygn8+nF8SZ6+p0oEYaH+mB/hmPl6ZbmT2gtcaCmoKugs+TPf2iF2ZTzJffXeyX6Qg5j4lEoKmC5nMRpyzjLCbwii0A4BWNSh6DQWmHHHqeoCNXb8pZS+RIshv2mgOULWsSI8m2zmzsQ7xy/xqIveCqQMCspe279Ny+/GbthYo/Dp4BozJyGKKVWhykmogSDo/3aQ5qkt4nATQmZNkiuBVQIQAr8hCVR03YNuFl7R3

Hi,

Comments inline below.

> This behavior surprised me, I think it's by design

The behavior is by design, yes, but subject to evolution.

It should have been documented better. I have added a note to this wiki
page on configuring the Grouper Provisioner:

https://spaces.internet2.edu/display/COmanage/Grouper+Provisioning+Plugin%3A+Configure+Plugin

> but maybe it
> shouldn't be since it messes with what seemed like the most logical
> use-case I could come up with. Maybe someone can enlighten me as to a
> better way to avoid this issue.
>
> When I update any CO person information it triggers a provision action
> to the Grouper provisioner which ultimately ends up calling
> provisionCoPerson in CoGrouperProvisionerTarget.php. At the end of
> the function the CoPerson is deleted from any Grouper groups which
> they do not belong to in Comanage - even groups which do not exist at
> all in CoManage.
>
> My expected use was that I'd be able to manage identities in Comanage,
> and create no groups in COmanage except the core/automatic CO_COU
> groups which are provisioned to Grouper.

That is a common use case...

> I then do any further group
> management under the COU sub-stems in Grouper.

That is not.

Most deployers do any "mixing" in a different stem. A common pattern is
to have a stem for COmanage to provision into that represents the
organizational structure of your CO, but then to have another stem for
managing authorization to services. So the two stems might be

MyCO:Organization

MyCO:Services

That is the common pattern that we have seen and used ourselves, so the
current Grouper Provisioner just fits that pattern.

But there is no reason the GrouperProvisioner needs to act this way.
Grouper supports your use case and so should the COmanage
Grouper Provisioner.

I have created JIRA CO-1531 for the issue:

https://bugs.internet2.edu/jira/browse/CO-1531

I have currently set the fix version for 3.1 but I need to talk with
Benn and do some more serious resource planning to know if I can make
that change for that release.

> This doesn't exactly
> work if Comanage deletes memberships from Grouper groups it isn't
> responsible for, and as far as I am concerned that behavior is really
> only appropriate when we are deleting a CO person and want their
> subject taken out of Grouper groups entirely (but I imagine we could
> catch that by deleting unknown subjects from Grouper groups with a gsh
> job).
>
> In my case a small workaround in the php code only matches the COU
> default groups for this variable which is used later to loop through
> and delete group memberships not found in CoManage:
>
> (line 618)
> // Filter the returned groups by the stem that this plugin is
> configured to control, but only match groups that Comanage is
> responsible for.
> $grouperGroups = array();
> $stem = $coProvisioningTargetData['CoGrouperProvisionerTarget']['stem'];
> // change this preg pattern to only match relevant groups
> $pattern = "/^" . preg_quote($stem, '/') . ".*" . "CO_COU_.*/";
> foreach($allGrouperGroups as $g) {
> if (preg_match($pattern, $g)) {
> $grouperGroups[] = $g;
> }
> }
>
> This of course wouldn't work if any other groups are created in
> Comanage and not named by the CO:COU convention that default COU
> groups use, but I'll never be creating any groups in COmanage except
> those 3 it creates automatically for every COU (CO top-level groups
> don't seem to make it to Grouper, which is preferable anyways).

Right. I think I will prefer a solution that is less dependent on the
naming convention but I will have to put some more thought into it
first.

Thanks for the note.

Scott



Archive powered by MHonArc 2.6.19.

Top of Page