During new user create, I am planning to auto increment the user ID, I intend to query the database to get the next sequence number however I see that in the policy express that Data Source -> SQL query option is not visible. Do I need to tweek any settings?
Out of the box, You should be able to see this in the Data tab -> Category -> Data Sources -> SQL Query. Where are you looking and what version of Identity Manager are you using? Also, please list what you see under type.
The version is CA Secure cloud 1.57. Please check the below screenshot, Only 2 options for Rest and SOAP base query are displayed. SQL Query is missing
As part of the new features in 1.57 (New Features - CA Secure Cloud - 1.57 for Service Providers - CA Technologies Documentation ) - we have added Policy XPress Support for SOAP and REST Web Services.
Not having any older Secure Cloud server available just now - was the SQL Query available previously (1.56/1.55?)
CA Tech Support
Not sure if it was present earlier. I will try checking that. However, What is the expected/default settings? Are we missing anything on settings front ?
As mentioned, am not certain whether this was ever an option with an older version. Do we still have 1.56 in Production to verify whether this option was ever available?
For PX - there are no additional configurations needed for allowing / revealing additional categories.
Looks like this was never available
Data Source queries (LDAP/SQL) are not in Secure Cloud, as they could potentially allow one tenant (assuming tenants had rights to create PX) to view data from another tenant or from the underlying DB.
Spot on Pearse, I knew there was something about it unique to SecureCloud...
Do we have any workaround? i.e to query JDBC in the PX?
No easy workaround that I can think of if you want to increment the user id based on some fixed pattern independent of the user - e.g. starting with user000001, and then incrementing up to user999999.
It would be a lot easier if you were to generate random user ids instead. That way, you could use the "uniqueness checker" to see whether the randomly generated id had been used before.
You could even take the same approach if you were to have a fixed pattern id which just got incremented in the case of collisions. E.g. user id is first initial and last name and incremented for duplicates. So user John Doe or Jane Doe would get id jdoe, jdoe1, jdoe2 etc. If the uniqueness check on the base id doesn't work, just keep incrementing until you get a positive result from the uniqueness checker. Assuming your base pattern doesn't result in too many collisions, there won't be many loops in your PX.
Thanks Pearse. Will try this out.
Is there any easy way to test out policy expresses. E.g. From Java code ?
Not aware of an easy way to test PX via Java Code.
I would advise using the "messages" function to log messages to the log file at various stages of the PX. The easiest way is to log all messages as "ERROR" messages. Once you work out the java log category, you can change to DEBUG messages and enable debug logging for that category.
In the case of Secure Cloud, depending on your access, you might not have access to the log files. In that case, you can use PX to send yourself debug emails when testing, or, in the case of "UI" PX, you can write debug messages to the screen.
Hope that helps
The option suggested below worked
was the SQL Query available previously (1.56/1.55?)