[midPoint] [Midpoint-dev] Inducement updates are not propagated to User after reconciliation

Anand Kothekar anand.kothekar at confluxsys.com
Mon Feb 2 16:24:54 CET 2015


Hi,

As per our discussion I tried to give <strength> tag in role but it didn't
worked for me.

Basically we had two host attribute values in inducement and member user
also had the same host membership, then after modifying the inducement I
reconciled the user but no change in host attribute of user's ldap account.

I have attached the sample role xml, please have a look and let me know if
I am doing anything wrong.



Thanks,
Anand Kothekar



On Fri, Jan 23, 2015 at 3:15 PM, Ivan Noris <ivan.noris at evolveum.com> wrote:

>  Hi Anand,
>
> please see inline:
>
> On 01/23/2015 06:17 AM, Anand Kothekar wrote:
>
> Hi Ivan
>
>  First of all Ldap connector supports Auxiliary object classes. I have
> tested it and it works for me.
>
>  Secondly, The host attribute is defined in resource schema and I have
> added it in Schema Handling but i do not have any outbound mapping right
> now (quite usual for our requirement, most of the resources have such
> attributes that cannot be mapped to any focal object in midpoint).
>
>  Is it possible that i can map whatever user has entered (instead of
> mapping the host or any other attribute to midpoint's focal object) to
> target resource attribute in outbound mapping.
>
>
> If user enters the value in the form, you don't need mappings.
> Mapping are used to set the target attribute value according to some other
> attribute value or expression.
>
> Some example:
> If you need to copy user/givenName attribute value to LDAP's sn attribute,
> you need outbound mapping in resource schema handling.
> If you need to generate LDAP's sn attribute value by taking user/givenName
> attribute value and (for example) lowercase all attributes and remove
> diacritics, you need outbound mapping in resource schema handling.
> If you want the user to set the LDAP's host attribute to
> user-defined-value, i.e. in the GUI form, manually, you don't need any
> mapping for this attribute. If user enters the value manually, provisioning
> will store the value to the resource. It is NOT remembered in midPoint.
> There is no expression how to derive the value, thus no mapping. And
> midPoint has no way of forcing the attribute value to contain the user
> defined value during the reconciliation, because the user defined value is
> stored only on LDAP, not in midPoint. When outbound mappings are used, the
> target attribute value can be derived from some source
> attribute(s)/expressions, co midPoint can enforce these values.
>
> Maybe there is another way how to achieve what you need if I understand it
> correctly. Define an extended attribute in User (by extending schema) and
> let the user set/modify this extended attribute. Then you can have schema
> handling mapping in resource, and you can thus use strong mapping strength.
>
> Best regards,
> Ivan
>
>
>
>  What my concern is there is no way in UI to set the strength and doing
> it at policy level is quite unmanageable(resource is one but inducement
> will be thousands).
>
>  So just to summarize
> - we want this to be done at resource level.
>
> - i think it is achievable if we can define outbound  mapping so that user
> entered value is mapped to target attribute.
>
>
>  Thanks
> Anand
>
>
> On Thu, Jan 22, 2015 at 8:36 PM, Ivan Noris <ivan.noris at evolveum.com>
> wrote:
>
>>  Hi,
>>
>> as you have the mapping in role, not in resource, you should have the
>> mapping set as strong for "host" attribute in *all* applicable roles
>> (that are setting this attribute).
>>
>> There will be no configuration in resource, because there is no mapping
>> for that attribute at the resource level. The strength always applies to
>> the mapping definition.
>>
>> You mentioned that this is auxiliary object class. Not sure if the LDAP
>> connector supports such classes...
>>
>> Regards,
>> I.
>>
>>
>> On 01/22/2015 03:49 PM, Anand Kothekar wrote:
>>
>> Hi,
>>
>>  Yes, the host attribute will be entered by the user who is managing the
>> midpoint or it will be populated in inducement of a role by our custom code
>> . It will never be automated to get the value from any focus object like
>> User.
>>
>>
>>  Thanks
>> Anand
>>
>>
>>
>> On Thu, Jan 22, 2015 at 7:56 PM, Ivan Noris <ivan.noris at evolveum.com>
>> wrote:
>>
>>>  Hi Anand,
>>>
>>> can you please be more precise about "value entered by user"?
>>> Do you mean that the host and/or(?) description attributes are expected
>>> to be managed by the user who is editing the user in midPoint, on the right
>>> side of User details in Accounts part? Are these expected to be set always
>>> explicitly by the user? No automation from midpoint user attributes?
>>>
>>> Thanks,
>>> I.
>>>
>>>
>>> On 01/22/2015 02:03 PM, Anand Kothekar wrote:
>>>
>>> Hi Ivan,
>>>
>>>  Thanks for your inputs.
>>>
>>>  I tried it by adding this constraint in inducement itself and it
>>> worked but I want to do this at resource level.
>>>
>>>  I tried adding the same in resource but the thing is I do not have any
>>> outbound mapping defined for these attributes (as I use the value entered
>>> by user ) now if I add only strength property in outbound it gives me Error.
>>>
>>>  Can you help me with pointing to the right kind of mapping I need to
>>> do.
>>>
>>>  Here is the host attribute snippet from my resource:
>>>           <attribute>
>>>             <ref xmlns:ri="
>>> http://midpoint.evolveum.com/xml/ns/public/resource/instance-3
>>> ">ri:host</ref>
>>>             <matchingRule xmlns:mr="
>>> http://prism.evolveum.com/xml/ns/public/matching-rule-3
>>> ">mr:stringIgnoreCase</matchingRule>
>>>             <outbound>
>>>                <strength>strong</strength>
>>>             </outbound>
>>>          </attribute>
>>>
>>>  I need to know how I can map value entered by user.
>>>
>>>
>>>
>>>  Thanks,
>>>  Anand Kothekar
>>>
>>>
>>> On Thu, Jan 22, 2015 at 5:52 PM, Ivan Noris <ivan.noris at evolveum.com>
>>> wrote:
>>>
>>>>  Hi Anand,
>>>>
>>>> can you please define the mappings for description and host attributes
>>>> as strong?
>>>>
>>>> Something like:
>>>>
>>>>                 <attribute>
>>>>                     <ref>ri:description</ref>
>>>>                     <outbound>
>>>> *                        <strength>strong</strength>*
>>>> . . .
>>>>                     </outbound>
>>>>                 </attribute>
>>>> Then run the reconciliation again please.
>>>>
>>>> If you already have this configured and it does not work, please share
>>>> the attribute mappings here.
>>>>
>>>> Regards,
>>>> I.
>>>>
>>>>
>>>> On 01/20/2015 11:15 AM, Anand Kothekar wrote:
>>>>
>>>>  Hi,
>>>>
>>>>  I have been playing around with role inducements and found some
>>>> issue, need some quick help as inducements are quite important for our
>>>> solution.
>>>>
>>>>  *Issue:* Inducement updates are not propagated properly to User after
>>>> reconciliation.
>>>>
>>>>  *Details:* When user is a assigned a role having a resource
>>>> inducement, User gets appropriate accounts and induced group memberships.
>>>> Now Changing some attributes in role inducements are not propagated after
>>>> reconciling User.
>>>>
>>>>  *Steps Followed:*
>>>> - I added and ldap resource inducement in a new Role*. *I provided
>>>> some attributes like LdapGroups, Host, and description.
>>>>  - User is  assigned to this Role. User gets the ldap account,
>>>> appropriate group memberships and other attributes specified in inducement
>>>> (i.e. description ,host(multivalued attribute from an Auxiliary object
>>>> class)). So all good till now.
>>>> - Now I updated the Resource inducement for example changed the
>>>> description, added few groups, added few host.
>>>> - After inducement modification I reconciled the User, and following
>>>> are the results:
>>>>
>>>> - Group membership is updated appropriately.
>>>>
>>>>  - Description is not updated
>>>>
>>>>  - host attribute is not updated
>>>>
>>>>
>>>>  Can you guys please check and let me know if I am doing something
>>>> wrong or is it a problem somewhere in my resource or some other issue with
>>>> midpoint system.
>>>>
>>>>  Regards
>>>> Anand Kothekar
>>>>
>>>>
>>>>  _______________________________________________
>>>> midPoint-dev mailing listmidPoint-dev at lists.evolveum.comhttp://lists.evolveum.com/mailman/listinfo/midpoint-dev
>>>>
>>>>
>>>> --
>>>>   Ing. Ivan Noris
>>>>   Senior Identity Management Engineer
>>>>   evolveum.com     evolveum.com/blog/
>>>>   _____________________________________________
>>>>   "Semper Id(e)M Vix."
>>>>
>>>>
>>>
>>> --
>>>   Ing. Ivan Noris
>>>   Senior Identity Management Engineer
>>>   evolveum.com     evolveum.com/blog/
>>>   _____________________________________________
>>>   "Semper Id(e)M Vix."
>>>
>>>
>>
>> --
>>   Ing. Ivan Noris
>>   Senior Identity Management Engineer
>>   evolveum.com     evolveum.com/blog/
>>   _____________________________________________
>>   "Semper Id(e)M Vix."
>>
>>
>
> --
>   Ing. Ivan Noris
>   Senior Identity Management Engineer
>   evolveum.com     evolveum.com/blog/
>   _____________________________________________
>   "Semper Id(e)M Vix."
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20150202/28317d1e/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Host Update Problem.docx
Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
Size: 12309 bytes
Desc: not available
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20150202/28317d1e/attachment.docx>


More information about the midPoint mailing list