[midPoint] LDAP attributes from inducement
Brad Firestone
bhotrock at gmail.com
Thu Aug 16 17:12:54 CEST 2018
Hi All,
I'm running into something strange and I'm sure I just have something
configured wrong. Hopefully someone can point me in the right
direction. I'm working with midPoint 3.7.2.
I am inducing some Services (using Services rather than Roles, but think
I understand they should work similarly) for certain Organizations. I
do that by adding the Service as an inducement when editing the
Organization. The Service places a set value into a multi-valued
attribute (authServices) in the LDAP resource. The "Add" part works
just fine. The attribute is added to both the mP User and to the LDAP
Account. "Show all Assignments" does show the indirect assignment of
the Service. At this point, everything is as expected.
However, if I then remove the Induced Service from the Organization and
Reconcile a User, the reconciliation shows 0 Primary Changes and 0
Secondary changes. It won't remove the related attribute value from the
mP User or from the LDAP account. However, "Show all Assignments" no
longer shows the indirect assignment of the Service.
Directly Assigning and then Unassigning this Service to a user adds and
removes the attribute as expected. I only have the problem removing the
attribute if the Service is Induced.
Based on other email threads and documentation, I've set the following
in both the Resource definition and the Service definition for Outbound
mapping:
<tolerant>false</tolerant>
<strength>strong</strength>
<authoritative>true</authoritative>
I started without these tolerant, strength and authoritative settings
and added them one by one hoping that would fix the problem.
Here is the XML from a test Service:
<service xmlns="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
xmlns:q="http://prism.evolveum.com/xml/ns/public/query-3"
xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
xmlns:t="http://prism.evolveum.com/xml/ns/public/types-3"
xmlns:org="http://midpoint.evolveum.com/xml/ns/public/common/org-3"
xmlns:icfs="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/resource-schema-3"
xmlns:ri="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3"
oid="c4144a0c-7fca-4666-a5d4-8f64050c3b58"
version="8">
<name>Cloud-via-LDAP</name>
<inducement id="1">
<construction>
<resourceRef oid="d0811790-1d80-11e4-86b2-3c970e467873"
relation="org:default"
type="c:ResourceType"><!-- GnLDAP --></resourceRef>
<attribute id="3">
<c:ref>authServices</c:ref>
<tolerant>false</tolerant>
<outbound>
<authoritative>true</authoritative>
<strength>strong</strength>
<expression>
<value>cloud</value>
</expression>
</outbound>
</attribute>
</construction>
</inducement>
</service>
Here is the mapping for that attribute in the LDAP Resource:
<attribute id="7">
<c:ref>ri:authServices</c:ref>
<displayName>Authorized Services</displayName>
<limitations>
<minOccurs>0</minOccurs>
<maxOccurs>unbounded</maxOccurs>
</limitations>
<outbound>
<authoritative>true</authoritative>
<tolerant>false</tolerant>
<strength>strong</strength>
<source>
<c:path>$user/extension/authServices</c:path>
</source>
</outbound>
<inbound id="11">
<strength>normal</strength>
<target>
<c:path>$user/extension/authServices</c:path>
</target>
</inbound>
</attribute>
Can anyone point me in the right direction to fix this? I would really
appreciate the help!
Brad
More information about the midPoint
mailing list