We are currently experiencing the following issue in our production-sandbox environment. We have attempted to resolve it through Expert Service and CSD, but have not received a satisfactory solution. If anyone has resolved similar issues, your assistance would be greatly appreciated.
Overview of the Configuration Environment:
I mapped 1 entitlement to 1 access profile. The purpose is categorize access profiles in the SailPoint Application based on SAP modules.
Users access the application through the request center and request multiple access profiles at once.
These requests work well with other connectors except for the SAP connector. With the SAP connector, when processing a request through the interface account, the account gets locked, and all subsequent requests fail after the first edit.
We have not received a satisfactory solution from support tickets, expert service, or CSD. One method suggested by an expert service engineer was to set a Before Provisioning Rule to interval time out each request by 30 seconds. However, we have not found any reference on how to configure this interval within the SAP BAPI in the rule.
Has anyone experienced similar issues? Any suggestions that might help are welcome.
1st request: The interface account (IF_SAILPOINT) locks the target account (ź¶ģøģ§) while adding the entitlement. 2nd request: The interface account (IF_SAILPOINT) attempts to add the entitlement but cannot because of the interface lock.
This issue continues with subsequent requests.
In Step 4: There is no timeout issue. The problem occurs because the SAP BAPI calls are made in a very short time, leading to errors.
Ok, I understand.
So the āuser recordā in SAP is in a locked state due to a previous operation and cannot be updated at that time.
Including a sleep period somewhere in the process might help, but is not a guarantee as the record might still be locked after your attempts run out.
Is this an out-of-the-box connector or something custom?
I think you can do a few things then.
1\ Raise an Idea with SailPoint to improve the connector to have record locking logic implemented out-of-the-box
2\ Try with a sleep time like mentioned above, which may work for 80% of the timeā¦ in addition with configuring the retryProvisioning methods like mentioned by @Anshu_Kunal
3\ Implement role grants via a custom connector (SaaS / VA Web Services / ā¦) that keeps track of record locking and where you can implement more logic.
Are you connectioning to ECC. I would have your SAP security folks turn on trace and trace itā¦ from the message it may be an authorization issue with the service account not the connector itself. We have found the SAP authorization on the service account to be quite tricky to configureā¦ but once we got it, it was fine. The other thought is why are are you locking the account to make a change and then unlocking? we change live accounts all of the time in SAP without locking the user out. The person may even be logged inā¦ they then get thier new access when the log out and log back into SAP. The security remains constant in the users current session.
The customer is currently using an S/4HANA database, not ECC.
I hadnāt considered whether the service account might have insufficient permissions. However, the account was granted authority equivalent to admin rights, and aside from the user lock issue, I didnāt feel that the service account was lacking for the entitlement provisioning tasks in ISC. And Itās very interesting that setting up the service accountās permissions correctly could potentially resolve the user lock issue.
Could you please provide more specific information regarding the configuration of the service accountās authorization?
Oh you are on S/4 hana so my comments are irrelevant. I will say SAP security can be very granular and that message looked like messages we had in our testing which resulted in our SAP team modifying the access on the service account. Sorry cannot help more with S/4 Hana security model.
The /connectorAttributes/retryWaitTime option seems to be related to setting up retries for aggregation. However, I will apply this setting in the sandbox tenant and let you know if it has any effect. Thank you for your response.