Currently if a TPS agent tries to add a new profile with status set to Enabled the REST service will incorrectly change it to Disabled even though the agent can approve the profile in a separate operation afterwards. This is because when adding the profile the code only checks if "Profiles" is listed in the target.agent_approve.list without checking whether the user is actually an agent (see CSCfgDatabase.createRecordStatus()). The correct behavior should be: if the user is an agent the status of the new profile should not change.
The same issue may potentially affect other config resources (i.e. connections, authenticators, profile mappings) but currently they don't require agent approval.
Proposed solution: the ProfileService.addProfile() should check if the user has the "profiles.approve" rights using the same code executed by ACLInterceptor. This may require refactoring the ACLInterceptor so the code can be accessed by the ProfileService.
Proposed milestone: May
Per discussions, targeted 10.2 - 05/14 (May)
master:
Metadata Update from @edewata: - Issue assigned to edewata - Issue set to the milestone: 10.2 - 05/14 (May)
Dogtag PKI is moving from Pagure issues to GitHub issues. This means that existing or new issues will be reported and tracked through Dogtag PKI's GitHub Issue tracker.
This issue has been cloned to GitHub and is available here: https://github.com/dogtagpki/pki/issues/1514
If you want to receive further updates on the issue, please navigate to the GitHub issue and click on Subscribe button.
Subscribe
Thank you for understanding, and we apologize for any inconvenience.