We’ve been struggling to get our new joiner orchestration in place.
The high level architecture looks like this:
-Daily HR feed in SailPoint ISC
-Role setup in ISC that includes AzureAD license group, and AzureAD Account creation
-Okta will also be provisioned by SailPoint, in the future. Right now, there is an Okta workflow that creates users daily, from a similar HR Feed.
-EntraID will be federated for SSO with Okta.
We’re running into some problems with this setup:
SailPoint was able to successfully create AAD accounts for users, before SSO federation was enabled.
After turning on federation for a small domain, Okta sign-in fails for accounts, pointing to issues with the immutableid - not sure if this is the issue, or a side effect of some hidden issue.
SailPoint fails to provision new accounts with an error that reads: sailpoint.connector.ConnectorException: Exception occurred. Error message - HTTP not ended OK. Response Code - 400 Error - SourceAnchor is a required property for creation of a federated user.
I tried to map the OKTA account ID to the AzureAD ImmutableID at account creation and attribute sync, but this fails.
Not using IQ Services for AZURE AD for the time being.
We’ve also been in countless calls with Okta support, MS support, no luck so far.
I’m hoping someone here has a similar setup and can spot something in my blindside.
Wow,
Thanks, this is a good hint and a point in the right direction.
This could solve the issue for existing users.
Now for newly created users, I am not sure how I could get the Okta app id value, I guess that is not the unique Okta user account id.
I was trying to user ISC Create User by mapping the immutable id to the value that the okta account has.
This resulted in the MS account not being created and getting the above 400 error.
Ok, after a lot of tinkering here is the solution I’ve found.
This was probably failing because I had set the isFederatedDomain to disabled.
This needs to be false or true.
With it being set to true, and the immutableID value set to an identity attribute that was mapped to the Okta account UID of the person, this worked.
The Okta Account UID is unique across the domain, so it works in our case.