One of my clients would want to know if it is possible to provision identities to IdentityIQ from Entra ID (formerly Azure AD).
IdentityIQ provides a SCIM API and Entra ID can provision users using SCIM, so it looks like this will be a piece of cake
To configure provisioning in Entra ID the following steps need to be performed:
Sign in to the Microsoft Entra admin center.
Go to Identity > Applications > Enterprise applications.
Select the application you want to configure for SCIM provisioning.
Under Provisioning, set the Provisioning Mode to Automatic.
Enter the SCIM endpoint URL and authentication credentials obtained from SailPoint IdentityIQ.
Map the user attributes between Microsoft Entra ID and SailPoint IdentityIQ.
But I am stuck at point 5
I created an OAuth client in IIQ and the proxied user has the System Administrator capability (plus SCIM Executor and WebServices Executor). The IIQ server is almost Vanilla (did not use a OAuth Client before on this install).
Now I have a Client ID and a Secret, however Entra ID wants to have a Secret Token:
Whatever I test as Secret Token, I still get an 401
WWW-Authenticate: Basic Realm="IdentityIQ"
Response Content: {"schemas":["urn:ietf:params:scim:api:messages:2.0:Error"],"detail":"User does not have access.","status":"401"}
Does anyone have a clue on what to provide as Secret Token for the SCIM API of IdentityIQ?
Just a thought here, why not use the Microsoft Entra ID (Formerly Azure Active Directory because we love Microsoft’s re-branding skills) connector to aggregate users into IIQ as an Authoritative Application?
Regardless, as far as I know SCIM API’s within IIQ can support basic authentication or OAuth2.0. Based off the following MS documentation (https://learn.microsoft.com/en-us/entra/identity/app-provisioning/user-provisioning) It looks like it requires a single bearer token. So you can try base64 encoding a username:password and try basic authorization OR try retrieving an OAuth token from IIQ to establish a Test Connection - but would have to figure out if Entra supports OAuth for API requests.
Found what you’re looking for - probably needs to be asked on MS forum though!
Handling endpoint authentication
Requests from Microsoft Entra provisioning service include an OAuth 2.0 bearer token. An authorization server issues the bearer token. Microsoft Entra ID is an example of a trusted authorization server. Configure the Microsoft Entra provisioning service to use one of the following tokens:
A long-lived bearer token. If the SCIM endpoint requires an OAuth bearer token from an issuer other than Microsoft Entra ID, then copy the required OAuth bearer token into the optional Secret Token field. In a development environment, you can use the testing token from the /scim/token endpoint. Test tokens shouldn’t be used in production environments.
Microsoft Entra bearer token. If Secret Token field is left blank, Microsoft Entra ID includes an OAuth bearer token issued from Microsoft Entra ID with each request. Apps that use Microsoft Entra ID as an identity provider can validate this Microsoft Entra ID-issued token.
The application that receives requests should validate the token issuer as being Microsoft Entra ID for an expected Microsoft Entra tenant.
An iss claim identifies the issuer of the token. For example, "iss":"https://sts.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/". In this example, the base address of the claim value, https://sts.windows.net identifies Microsoft Entra ID as the issuer, while the relative address segment, aaaabbbb-0000-cccc-1111-dddd2222eeee, is a unique identifier of the Microsoft Entra tenant for which the token was issued.
The audience for a token is the Application ID for the application in the gallery. Applications registered in a single tenant receive the same iss claim with SCIM requests. The application ID for all custom apps is 8adf8e6e-67b2-4cf2-a259-e3dc5476c621. The token generated by the Microsoft Entra ID should only be used for testing. It shouldn’t be used in production environments.
We are testing both the options Entra ID push to (prov) IIQ and IIQ pull from (aggr) Entra ID.
The choice is based on ownership, security etc.
With Entra ID provisioning to IIQ, the accounts to be synced is defined with Entra ID (assign users to the application).
With IIQ aggregating from Entra ID the account selection is done within IIQ. It also allows IIQ to read all accounts (which might contain sensitive data, like which accounts have privileged roles).
Got it - looks like Entra would require some sort of long-lived bearer token. So just for testing I would configure a token for a very long time & see if it works. Wouldn’t recommend doing that as a long-term solution OR in production but you asked for feasibility. Would dig into MS documentation or create a support ticket to figure out if the SCIM app you are using supports OAuth.
Just speaking from experience, anything with Microsoft is not built with modern security in mind. We’ve had nightmares trying to get them to do the right thing. Go SailPoint!
IdentityIQonly provides the ‘Client Credentials’ OAuth2.0 grant type (Client ID and a Secret). With the Client ID and the Secret an access-token can be created which can be used as the bearer token for the provisioning credentials. It is possible to change the access token expiration time in IdentityIQ from 5 minutes (default) to years, but this is a global setting for all OAuth2.0 access tokens within IdentityIQ.
Considerations:
Long Lived Bearer Tokens (Access Tokens) increase the security risk if they are compromised
Changing token expiration time to create long Lived Access Tokens applies to all IdentityIQ Access Tokens
To have Entra ID create identities in IdentityIQ it is also possible to change any identity in IdentityIQ
It is possible so sent a request to Microsoft to publish an application to the Microsoft Entra application Gallery to get Client Credential Support for SCIM in Entra ID. However Microsoft is not accepting new request for provisioning applications. (We are currently not accepting new SSO or provisioning requests while we focus on the Secure Future Initiative. Update requests will be processed on a case-by-case basis.) See: Submit a request to publish your application - Microsoft Entra ID