User Provisioning Using SCIM API
a month ago

User Provisioning Using SCIM API

You can use SCIM API to create a user (POST) in the Unified Directory, search for users (GET) in the Unified Directory, replace users (PUT) in the Unified Directory, modify users (PATCH) in the Unified Directory, and remove users (DELETE) from the Unified Directory. You can search for users by the SCIM attributes userName, emails, or id.

Note:  Managing user groups is not supported through SCIM API.

Procedure 

  1. In the Cloud Administration Console, click Users > Identity Sources.
    The Identity Sources list displays the enabled Unified Directory.

  2. Click Edit corresponding to the Unified Directory.

  3. Copy the Base URI and use it in the configuration in SCIM client. This is the SCIM Base URI where all the SCIM resources are hosted.

  4. Copy the Client Secret key that can be used for SCIM API authentication.

    Note:  You can click Generate to get a new client secret key. Click SaveSettings and Publish Changes before you use the new secret key.

SCIM API Authentication

SCIM API uses long-lived bearer token as an authentication scheme. Use the preceding procedure to generate the bearer token (client secret).

SCIM Attribute Mapping

SCIM Attribute Field on Users > Management
name.givenName

First Name

name.familyNameLast Name
userNameUsername
emails[type eq "work"].valueEmail Address
activeUser Status
phoneNumbers[type eq "mobile"].valueSMS Phone
phoneNumbers[type eq "mobile"].valueVoice Phone

SCIM Attributes

The following table describes properties used in the requests and responses.

Request/Response ParameterDescriptionType
idUUID of a userString
userNameUnique identifier for the user, could be used as loginId by the usersString
nameComponents of user's nameComplex
displayNameThe name of the user, suitable for displayString
nickNameNick name of the userString
titleTitle of the userString
userTypeType of userString
preferredLanguagePreferred languageString
activeIndicates user's statusBoolean
localeIndicates the user's default location for localizingString
passwordPasswordString
emailsUnique identifier for the user (email of type "work" is used as primary identifier for the user. It can be used as login Id by the user.)List<email>
phoneNumbersPhone numbers of a user (phoneNumber of type "mobile" is used for SMS/VOICE authentication)List<Phone number>
addressesPhysical mailing address of a userList<Address>
externalIdIdentifier of a User, defined by the provisioning clientString
emails
valueEmail addressString
typeTypes of email: home, work, or otherString
primaryIndicates primary/preferred emailBoolean
phoneNumber
valuePhone numberString
typeTypes of phone number: home, work, mobile, pager, fax, or otherString
primaryIndicates primary/preferred phone numberBoolean
name
formattedThe full name, including all middle names, titles, and suffixes as appropriate, formatted for displayString
familyNameLast name or family name of the userString
givenNameFirst name of the userString
Address
formattedThe full mailing address, formatted for display or use with a mailing labelString
streetAddressFull street address , which may include house number, street name, P.O. box, and multi-line extended street address informationString
localityCity or localityString
regionState or regionString
postalCodeZip code or postal codeString
countryCountry nameString
typeType of address. Valid values work, home and other.String

Note:  userName and emails are required parameters.

For more details on SCIM attributes, refer to https://www.rfc-editor.org/rfc/rfc7643.

SCIM APIs and Discovery Endpoints

SCIM API for User Creation

SCIM API for User Search

SCIM API for User Replacement

SCIM API for User Modification

SCIM API for User Deletion

Discovery Endpoints

Note:  The SCIM API for User Replacement, SCIM API for User Modification, and SCIM API for User Deletion endpoints are unavailable for Local identity source types.

Integrating SCIM with Azure AD

Azure AD can be configured to automatically provision assigned users to applications that implement a specific profile of the SCIM 2.0 protocol.

Procedure 

  1. Create non-gallery app in Azure AD.

  2. Configure SCIM connection details in Azure from Unified Directory using Base URI and Client Secret.

  3. Configure user attribute mapping. Cloud mandates two SCIM attributes to be present in SCIM User provisioning request - userName and email [type eq 'work'].value. Use this default mapping.

  4. Ensure that the users are assigned to non-gallery app created for provisioning.

  5. Start provisioning.

Attribute mappings define how attributes are synchronized between Azure Active Directory and customappsso. The following table shows an example mapping that can be used for Azure AD integration.

Azure Active Directory Attributecustomappsso Attribute
userPrincipalNameuserName
Switch([IsSoftDeleted], "False", "True", "True", "False")

active

displayName

displayName

mail or userPrincipalNameemails[type eq "work"].value
givenNamename.givenName
surnamename.familyName
mobilephoneNumbers[type eq "mobile"].value
objectIdexternalId

For details on Azure AD integration, refer to Integrate your SCIM endpoint with the Azure AD Provisioning Service.

Rate Limit

Rate limiting is applied to all SCIM API requests. When the rate limit is exceeded, a 429 HTTP error message is returned with a Retry-After response in the header. For example:

"Retry-After": "2 seconds"

Response Code

The following table shows response code for this API.

CodeDescription
429Too many requests.