[midPoint] High-Order inducement with custom relation
Pavol Mederly
mederly at evolveum.com
Thu Nov 14 16:47:36 CET 2019
Hello Martin,
I am glad it works. And thank you for the explanation. :)
Best regards,
Pavol Mederly
Software developer
evolveum.com
On 13.11.2019 20:41, Martin wrote:
> Hello Pavol,
>
> thanks for helping me there! This is the relation definition:
>
> <relations>
> <relation>
> <ref xmlns:extension="whatever">extension:myRelation</ref>
> <display>
> <label>myRelation</label>
> </display>
> <category>organization</category>
> <category>administration</category>
> * <kind>member</kind>*
> </relation>
> <includeDefaultRelations>true</includeDefaultRelations>
> </relations>
>
> Adding kind=member did the trick! I had experimented with
> defaultFor=member but thats not what I wantend.
> The sample here:
> https://wiki.evolveum.com/display/midPoint/Relation+Configuration
> explains the relation kinds in detail but never shows how it can be
> set. Maybe that can be improved.
>
> To satisfy your curiosity:
>
> The real usecase here is a Role (Allow Codesigning) with parameter
> (Hostname) that gets assigned to a user. Midpoint should automatically
> assign the same role to a second focal object (computer) based on the
> parameter.
>
> In detail:
> The assignment of the "Allow Codesigning" Role to the user causes the
> User to be added to an AD Group and Assigns the Computer as a Service
> to the User in Midpoint
> The archetype of the computer object should then assign the "Allow
> Codesigning" Role also to the computer - but only if it is assigned to
> someone with the relation Codesigning - so that it also gets added to
> the AD Group but not all existing computers.
> Both user and computer are then member of the AD group (which is the
> requirement) and the computer will automatically be removed from the
> group once no more user claims to require the computer (based on the
> user-assignment-parameter)
> So far no custom relation would be needed. But once we add a second
> usecase that assigns computers to user (e.g. main user) they would
> interfere with each other.
>
> Furthermore it makes reporting easy:
> - Give me all machines that belong to Subordinate Users of Manager XY
> and are used for codesigning (also a requirement by the business)
> vs
> - Give me all machines where a Subordinate Users of Manager XY is the
> main user (possible usecase)
>
> Best regards,
>
> Martin Hoffmann
>
> Am 13.11.2019 um 19:28 schrieb Pavol Mederly:
>>
>> Hello Martin,
>>
>> how are your relations defined in the system configuration? In
>> particular, have you set a kind=member for myRelation?
>>
>> [Out of curiosity, what has led you to user a custom relation in this
>> context? This is the first time I see such a use :-)]
>>
>> Best regards,
>>
>> Pavol Mederly
>> Software developer
>> evolveum.com
>> On 13.11.2019 16:49, Martin Hoffmann wrote:
>>>
>>> Hi there,
>>>
>>> I am trying to do an high-order inducement:
>>>
>>> User ---assignment (relation: “extension:myRelation”) ---> Role A
>>> ---assignment---> Archetype B
>>>
>>> In my Archetype there is the following inducement:
>>>
>>> <inducement id="14">
>>>
>>> <focusMappings>
>>>
>>> <mapping id="15">
>>>
>>> <name>Testmapping</name>
>>>
>>> <authoritative>true</authoritative>
>>>
>>> <strength>strong</strength>
>>>
>>> <source>
>>>
>>> <c:path>$immediateRole/name</c:path>
>>>
>>> </source>
>>>
>>> <expression>
>>>
>>> <script
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
>>> xsi:type="c:ScriptExpressionEvaluatorType">
>>>
>>> <code>
>>>
>>> return "HELLO"
>>>
>>> </code>
>>>
>>> </script>
>>>
>>> </expression>
>>>
>>> <target>
>>>
>>> <c:path>$focus/extension/rsJobFunction</c:path>
>>>
>>> </target>
>>>
>>> </mapping>
>>>
>>> </focusMappings>
>>>
>>> <order>2</order>
>>>
>>> <focusType>c:UserType</focusType>
>>>
>>> </inducement>
>>>
>>> This does work when Role A is assigned to the User with default
>>> relation but does not work when the relation is my custom one.
>>>
>>> Adding an orderConstraint on relation=extension:myRelation causes it
>>> to stop working for the default relation, but it does not work for
>>> the extension relation either.
>>>
>>> Am I missing something there or is this a bug? Maybe someone can
>>> give me a hint J
>>>
>>> Best regards,
>>> Martin Hoffmann
>>>
>>>
>>>
>>> Content provided within this e-mail including any attachments, is
>>> for the use of the intended recipients and may contain Rohde &
>>> Schwarz company restricted information. Any unauthorized use,
>>> disclosure, or distribution of this communication in whole or in
>>> part is strictly prohibited. If you are not the intended recipient,
>>> please notify the sender by reply email or by telephone and delete
>>> the communication in its entirety.
>>>
>>>
>>> _______________________________________________
>>> midPoint mailing list
>>> midPoint at lists.evolveum.com
>>> http://lists.evolveum.com/mailman/listinfo/midpoint
>>
>> _______________________________________________
>> midPoint mailing list
>> midPoint at lists.evolveum.com
>> http://lists.evolveum.com/mailman/listinfo/midpoint
>
> _______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com
> http://lists.evolveum.com/mailman/listinfo/midpoint
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20191114/2643d6dd/attachment.htm>
More information about the midPoint
mailing list