The typical provisioning flow for the majority of SailPoint customers involves provisioning directly to Active Directory. Most environments that are using Okta typically sync from AD up to Okta. As a result, very few environments probably provision directly to Okta from SailPoint. (Note: this is a guess, I obviously don’t have stats on this.)
Here are my notes from provisioning directly to Okta.
- Use delta aggregations. This isn’t really specific to provisioning, but if you’re doing full aggs against Okta, you’re going to have a bad time. Okta throttles API calls, and their rate limiting means you’re going to have a really bad time if you try to aggregate all your accounts. Like, a very bad time… aggregations will run for a very, very long time. Just use deltas.
- Status. Okta has many of these! Unfortunately, SailPoint only has two:
active
anddisable
.- SailPoint will create an Okta account in a
STAGED
state (which SailPoint considersdisabled
). You can includeactivate
in your Create profile and specify a value oftrue
orfalse
to determine whether the account is immediately activated. - Once activated, an account goes into a
PROVISIONED
state in Okta until the password is set or the account is explicitly activated by an admin, at which point it becomesACTIVE
. BothPROVISIONED
andACTIVE
are consideredactive
states by SailPoint. - You can set your connector to set Okta accounts to either
SUSPEND
orDEPROVISIONED
status (both of which are, obviously, considereddisabled
states in SailPoint) when SailPoint disables the accounts. Unfortunately, this is either/or - you can’t change this on a case-by-case basis, and you can’t have different lifecycle states do different things. - Note that because
STAGED
andSUSPEND
/DEPROVISIONED
are all considereddisabled
states, SailPoint will not change anything if an Identity gets termed before the Okta account is activated. For example, if you have an account for a new hire provisioned in aSTAGED
state, but the new hire backs out before their start date so they never get activated, SailPoint won’t change their Okta account toSUSPEND
orDEPROVISIONED
because as far as SailPoint is concerned, the account is already disabled. You can work around this with a Workflow or in some other way, but this is not out-of-the-box functionality.
- SailPoint will create an Okta account in a
- Attribute Sync. Okta does not allow modification to accounts in a
DEPROVISIONED
state. This is a hard-and-fast rule, not something you can change in your Okta settings or SailPoint source configuration. Unfortunately, SailPoint doesn’t give a heck about this limitation at the moment (vote for this Idea to fix that), so it’ll attempt to sync attributes toDEPROVISIONED
Okta accounts that are tied to Identities withactive
orinactive (short-term)
lifecycle states. This will inevitably fail with an error, and SailPoint will then retry up to 10 times… per attribute. Depending on how many identities you have, this can cause issues where you have excess items in yourIDENTITY-SYNC
activity queue.
That’s all I’ve got off the top of my head at the moment, but I’ll be sure to add more as I think of it or as more inevitably comes up! If you’re provisioning directly to Okta from ISC, please add your gotchas below!