[midPoint] Access Certification Performance

Dornieden, Sebastian Sebastian.Dornieden at comramo.de
Fri Jan 19 13:51:35 CET 2024


Hi,

after some futher investigation i might have found the problem.

My user objects are blown up with provenance metadata from inducements. Some user objects exceed 100k rows in xml format. The problem seems to begin when the "All accesses" panel was introduced.

We have an organizational structure similar to:

Company: Inducement -> Company-Rights-Role
   Department: Inducement -> Company-Rights-Role, Department-Rights-Role
      Group: Inducement -> Company-Rights-Role, Department-Rights-Role, Group-Rights-Role

All roles contains a different set of services.

This configuration is leading to a roleMembershipRef like the following, which is leading to a quadrupled entry under "all accesses". (The examples comes from user directly assigned to a department. The entry for users in the groups are eightfold.)

    <roleMembershipRef oid="8318b988-1d71-47c5-b785-cad2e61d9d7f" relation="org:default" type="c:RoleType">
        <_metadata>
            <storage>
                <createTimestamp>2024-01-18T16:36:58.504+01:00</createTimestamp>
            </storage>
            <provenance>
                <assignmentPath>
                    <sourceRef oid="bad4b791-70b3-426b-b515-4953f9a3aa6f" relation="org:default" type="c:UserType"/>
                    <segment>
                        <segmentOrder>1</segmentOrder>
                        <assignmentId>2494</assignmentId>
                        <targetRef oid="2f387105-a302-4aa5-9021-2aeb73234b15" relation="org:default" type="c:OrgType"/>
                        <matchingOrder>true</matchingOrder>
                    </segment>
                    <segment>
                        <segmentOrder>2</segmentOrder>
                        <inducementId>45</inducementId>
                        <targetRef oid="8318b988-1d71-47c5-b785-cad2e61d9d7f" relation="org:default" type="c:RoleType"/>
                        <matchingOrder>true</matchingOrder>
                    </segment>
                </assignmentPath>
            </provenance>
        </_metadata>
        <_metadata>
            <storage>
                <createTimestamp>2024-01-18T16:36:58.504+01:00</createTimestamp>
            </storage>
            <provenance>
                <assignmentPath>
                    <sourceRef oid="bad4b791-70b3-426b-b515-4953f9a3aa6f" relation="org:default" type="c:UserType"/>
                    <segment>
                        <segmentOrder>1</segmentOrder>
                        <assignmentId>2494</assignmentId>
                        <targetRef oid="2f387105-a302-4aa5-9021-2aeb73234b15" relation="org:default" type="c:OrgType"/>
                        <matchingOrder>true</matchingOrder>
                    </segment>
                    <segment>
                        <segmentOrder>2</segmentOrder>
                        <assignmentId>1</assignmentId>
                        <targetRef oid="9b04e7a4-e611-4767-acc6-e427cbbde557" relation="org:default" type="c:OrgType"/>
                        <matchingOrder>false</matchingOrder>
                    </segment>
                    <segment>
                        <segmentOrder>3</segmentOrder>
                        <inducementId>68</inducementId>
                        <targetRef oid="8318b988-1d71-47c5-b785-cad2e61d9d7f" relation="org:default" type="c:RoleType"/>
                        <matchingOrder>false</matchingOrder>
                    </segment>
                </assignmentPath>
            </provenance>
        </_metadata>
        <_metadata>
            <storage>
                <createTimestamp>2024-01-18T16:36:58.504+01:00</createTimestamp>
            </storage>
            <provenance>
                <assignmentPath>
                    <sourceRef oid="bad4b791-70b3-426b-b515-4953f9a3aa6f" relation="org:default" type="c:UserType"/>
                    <segment>
                        <segmentOrder>1</segmentOrder>
                        <assignmentId>2494</assignmentId>
                        <targetRef oid="2f387105-a302-4aa5-9021-2aeb73234b15" relation="org:default" type="c:OrgType"/>
                        <matchingOrder>true</matchingOrder>
                    </segment>
                    <segment>
                        <segmentOrder>2</segmentOrder>
                        <inducementId>45</inducementId>
                        <targetRef oid="8318b988-1d71-47c5-b785-cad2e61d9d7f" relation="org:default" type="c:RoleType"/>
                        <matchingOrder>true</matchingOrder>
                    </segment>
                    <segment>
                        <segmentOrder>3</segmentOrder>
                        <assignmentId>82</assignmentId>
                        <targetRef oid="9b04e7a4-e611-4767-acc6-e427cbbde557" relation="org:default" type="c:OrgType"/>
                        <matchingOrder>false</matchingOrder>
                    </segment>
                    <segment>
                        <segmentOrder>4</segmentOrder>
                        <inducementId>68</inducementId>
                        <targetRef oid="8318b988-1d71-47c5-b785-cad2e61d9d7f" relation="org:default" type="c:RoleType"/>
                        <matchingOrder>false</matchingOrder>
                    </segment>
                </assignmentPath>
            </provenance>
        </_metadata>
        <_metadata>
            <storage>
                <createTimestamp>2024-01-18T16:36:58.504+01:00</createTimestamp>
            </storage>
            <provenance>
                <assignmentPath>
                    <sourceRef oid="bad4b791-70b3-426b-b515-4953f9a3aa6f" relation="org:default" type="c:UserType"/>
                    <segment>
                        <segmentOrder>1</segmentOrder>
                        <assignmentId>2494</assignmentId>
                        <targetRef oid="2f387105-a302-4aa5-9021-2aeb73234b15" relation="org:default" type="c:OrgType"/>
                        <matchingOrder>true</matchingOrder>
                    </segment>
                    <segment>
                        <segmentOrder>2</segmentOrder>
                        <assignmentId>1</assignmentId>
                        <targetRef oid="9b04e7a4-e611-4767-acc6-e427cbbde557" relation="org:default" type="c:OrgType"/>
                        <matchingOrder>false</matchingOrder>
                    </segment>
                    <segment>
                        <segmentOrder>3</segmentOrder>
                        <inducementId>68</inducementId>
                        <targetRef oid="8318b988-1d71-47c5-b785-cad2e61d9d7f" relation="org:default" type="c:RoleType"/>
                        <matchingOrder>false</matchingOrder>
                    </segment>
                    <segment>
                        <segmentOrder>4</segmentOrder>
                        <assignmentId>82</assignmentId>
                        <targetRef oid="9b04e7a4-e611-4767-acc6-e427cbbde557" relation="org:default" type="c:OrgType"/>
                        <matchingOrder>false</matchingOrder>
                    </segment>
                    <segment>
                        <segmentOrder>5</segmentOrder>
                        <inducementId>68</inducementId>
                        <targetRef oid="8318b988-1d71-47c5-b785-cad2e61d9d7f" relation="org:default" type="c:RoleType"/>
                        <matchingOrder>false</matchingOrder>
                    </segment>
                </assignmentPath>
            </provenance>
        </_metadata>

I was able to reproduce the issue in the demo enviroment.

  1.  Create a new Role with an inducement for a service.
  2.  Induce this Role in Orgs Leonardo's Workshop and Council of Patrons
  3.  Reconicle Borgia and look under "All Accesses". There are doubled entrys fort he role and the service induced by that role.

But again. I don't know if it's a bug or if i have missed something and doing it wrong.

Regards

Sebastian



Sebastian Dornieden
Data Center Services
Informationstechnologie

COMRAMO AG
Bischofsholer Damm 89
30173 Hannover

Handelsregister: Hannover HRB 202670
Vorstand: Herr Peter Nohr
Aufsichtsratsvorsitzender: Herr Adalbert Schmidt

Mail: Sebastian.Dornieden at comramo.de
Web: www.comramo.de<https://www.comramo.de>
Hotline der Informationstechnologie: +49 511 12401-767

[cid:SocialLink_Xing_32x32_4f00de66-fcf4-476a-a7ee-188148f1e811.png]<https://www.xing.com/pages/comramoag>    [cid:kununu_cf05cfcf-5263-4b81-8013-1060f1117763.png] <https://www.kununu.com/de/comramo-ag>     [cid:SocialLink_Linkedin_32x32_6bcc8929-ec52-49ac-b958-ce8e8349d04f.png] <https://de.linkedin.com/company/comramo-ag>

Diese Information ist ausschließlich für den Adressaten bestimmt und kann vertraulich oder gesetzlich geschützte Informationen enthalten. Wenn Sie nicht der bestimmungsgemäße Adressat sind, unterrichten Sie bitte den Absender und vernichten Sie diese Mail. Anderen als dem bestimmungsgemäßen Adressaten ist es untersagt, diese E-Mail zu lesen, zu speichern, weiterzuleiten oder ihren Inhalt auf welche Weise auch immer zu verwenden.

Diese E-Mail enthält kein Anerkenntnis, dass es sich beim Inhalt dieser E-Mail um eine rechtsverbindliche Erklärung der COMRAMO AG handelt. Erklärungen, welche die COMRAMO AG verpflichten, bedürfen jeweils der Unterschrift der zeichnungsberechtigten Person der COMRAMO AG. Die Allgemeinen Geschäftsbedingungen der COMRAMO AG finden Sie auf www.comramo.de <https://www.comramo.de/> und können sie dort als PDF-Datei herunterladen. Bitte beachten Sie unsere Datenschutzhinweise<https://www.comramo.de/datenschutzerklaerung/>.
Von: Dornieden, Sebastian <Sebastian.Dornieden at comramo.de>
Gesendet: Donnerstag, 18. Januar 2024 10:31
An: midpoint at lists.evolveum.com
Betreff: Access Certification Performance

Dear midPoint community,

we're actually trying to introduce access certifaction. We have a small enviroment with about 250 Users. Our managment is complaining about poor performance when using access certification and after some tests. I've to agree.

Here are some examples:

as Reviewer:
opening my work items (46 cases) 14s
accept single work item 13s

as Admin:
opening all work items (400 cases) 16s
accept single work item 10s
showing "All Users" 4s (245 Users) (which seems also slow)
showing "All Roles" 0,5s (134 Roles)
showing "All Services" 0,5s (797 Services)

Some Data:
VM
4 cores
32GB RAM

Version 4.8.1-SNAPSHOT
Branch  support-4.8
v4.8-225-gee1275d8dac
Tue, 16 Jan 2024 14:01:02 +0000

DB: native postgresql on localhost

I'm trying to figure out if it's a normal behaviour, a bug or a misconfiguation. Any hints?

Regards

S. Dornieden

Sebastian Dornieden
Data Center Services
Informationstechnologie

COMRAMO AG
Bischofsholer Damm 89
30173 Hannover

Handelsregister: Hannover HRB 202670
Vorstand: Herr Peter Nohr
Aufsichtsratsvorsitzender: Herr Adalbert Schmidt

Mail: Sebastian.Dornieden at comramo.de<mailto:Sebastian.Dornieden at comramo.de>
Web: www.comramo.de<https://www.comramo.de>
Hotline der Informationstechnologie: +49 511 12401-767

[cid:image001.png at 01DA4AB5.A63B4890]<https://www.xing.com/pages/comramoag>    [cid:image002.png at 01DA4AB5.A63B4890] <https://www.kununu.com/de/comramo-ag>     [cid:image003.png at 01DA4AB5.A63B4890] <https://de.linkedin.com/company/comramo-ag>

Diese Information ist ausschließlich für den Adressaten bestimmt und kann vertraulich oder gesetzlich geschützte Informationen enthalten. Wenn Sie nicht der bestimmungsgemäße Adressat sind, unterrichten Sie bitte den Absender und vernichten Sie diese Mail. Anderen als dem bestimmungsgemäßen Adressaten ist es untersagt, diese E-Mail zu lesen, zu speichern, weiterzuleiten oder ihren Inhalt auf welche Weise auch immer zu verwenden.

Diese E-Mail enthält kein Anerkenntnis, dass es sich beim Inhalt dieser E-Mail um eine rechtsverbindliche Erklärung der COMRAMO AG handelt. Erklärungen, welche die COMRAMO AG verpflichten, bedürfen jeweils der Unterschrift der zeichnungsberechtigten Person der COMRAMO AG. Die Allgemeinen Geschäftsbedingungen der COMRAMO AG finden Sie auf www.comramo.de <https://www.comramo.de/> und können sie dort als PDF-Datei herunterladen. Bitte beachten Sie unsere Datenschutzhinweise<https://www.comramo.de/datenschutzerklaerung/>.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20240119/5c5168f3/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 725 bytes
Desc: image001.png
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20240119/5c5168f3/attachment-0006.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image002.png
Type: image/png
Size: 1359 bytes
Desc: image002.png
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20240119/5c5168f3/attachment-0007.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image003.png
Type: image/png
Size: 468 bytes
Desc: image003.png
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20240119/5c5168f3/attachment-0008.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SocialLink_Xing_32x32_4f00de66-fcf4-476a-a7ee-188148f1e811.png
Type: image/png
Size: 725 bytes
Desc: SocialLink_Xing_32x32_4f00de66-fcf4-476a-a7ee-188148f1e811.png
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20240119/5c5168f3/attachment-0009.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kununu_cf05cfcf-5263-4b81-8013-1060f1117763.png
Type: image/png
Size: 1359 bytes
Desc: kununu_cf05cfcf-5263-4b81-8013-1060f1117763.png
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20240119/5c5168f3/attachment-0010.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SocialLink_Linkedin_32x32_6bcc8929-ec52-49ac-b958-ce8e8349d04f.png
Type: image/png
Size: 468 bytes
Desc: SocialLink_Linkedin_32x32_6bcc8929-ec52-49ac-b958-ce8e8349d04f.png
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20240119/5c5168f3/attachment-0011.png>


More information about the midPoint mailing list