[midPoint] SOD Prune policy action — does it support priority/order-based conflict resolution?
Bao Tran
bao.tran at csit.fi
Thu Aug 6 09:57:51 CEST 2026
Hi all,
We're implementing a mutually-exclusive role set in MidPoint using an
exclusion policy constraint with action = prune:
Application:
*- VPN*
Application-roles:
*- VPN-access - VPN-manager- VPN-admin*
Only one of these three application roles should be assigned to a user at a
time . And if there is a SOD situation detected => select the
application-role with highest rank (access -> manager -> admin) , and prune
others.
Per the SOD actions documentation
<https://docs.evolveum.com/midpoint/reference/support-4.9/roles-policies/policies/policy-rules/#policy_actions>,
prune automatically and silently removes conflicting assignments when a new
one is added.
Our question: does prune have any built-in mechanism to resolve conflicts
based on role priority/order/rank (e.g. always keeping the
highest-privilege role regardless of assignment sequence)? Or is the
removal purely based on assignment order — i.e. the newest assignment
always survives and the pre-existing conflicting assignment is the one
pruned, regardless of relative privilege level?
If there's no built-in support for priority-based resolution, could you
point us to the recommended pattern for enforcing "always keep highest-rank
role" semantics — e.g. a policy rule script hook that runs before prune, or
an object template / afterAssignments mapping approach?
Thanks,
--
Bao Tran
Software developer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20260806/0e18042a/attachment.htm>
More information about the midPoint
mailing list