[midPoint] Creating (!) and associating Groupmembership in AD with midpoint
Radovan Semancik
radovan.semancik at evolveum.com
Tue Nov 8 16:52:27 CET 2016
Hi,
On 10/06/2016 03:18 PM, Daniel.Sommer at itconcepts.net wrote:
> Are we right, that the creation on the resource (account or group) is
> always associated with the act of the assignment in midpoint (and
> therefor creating the
> projection at the concerned focus object)?
Yes. Account or groups are the "real side" of the projection. Therefore
if you want to create account or group you have to create a projection
in midPoint.
This also goes with midPoint philosophy: we want every object to be
accountable. In ideal state every object (projection) must have an
owner. Therefore the projection is always created in a "linked" state to
some midPoint (focal) object (user, role, org, service). This applies to
accounts, but it also applies to groups, privileges, organizational
units ... and every resource-side object that midpoint creates.
> So what could be the solution? I would think of create such a role
> construction that on assignment to the user two projections are
> created for him:
> first one creates (ensures the presence of) the group and second
> creates the account and associates. But how will be defined the
> assignment (or inducement)
> for the group creation, since the name of the group should (of course)
> not be the name of the user... ?
I'm not sure that I understand that.
Do you want to create a group that is "personal" for each user? E.g.
user "foo" will have group "foo-group", user "bar" will have group
"bar-group", etc. If that is the case then simply create a new
projection for the user on the same resource. Add new construction to
the role/metarole that gives the account to the user. A user can have
any number of projections on one resource as long as each projection has
different kind+intent combination.
Or are you trying to create a group that is not "personal" to user? A
group that is shared by several users, but it is created "on demand"
when the first user is assigned to that group? If that is the case you
need to have an object in midPoint that has the same lifecycle as the
group. This can be role, org or service (let's assume it is a role). And
instead of trying to create the group directly create the midPoint role
instead. One elegant way to do this is the use of assignmentTargetSearch
expression with "create on demand" feature. See here:
https://wiki.evolveum.com/display/midPoint/Expression#Expression-AssignmentTargetSearch
... and it is used in a full example here:
https://wiki.evolveum.com/display/midPoint/OrgSync+Story+Test
Once that on-demand role is created you can easily create the group as a
projection of this role. And you can use associationFromLink expression
to add users to that group.
--
Radovan Semancik
Software Architect
evolveum.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20161108/017e9dd7/attachment.htm>
More information about the midPoint
mailing list