Skip to main content

EntraID B2C SCIM Connector Features

The EmpowerID EntraID B2C Connector supports real-time synchronization of user data between EmpowerID and EntraID B2C, ensuring consistent and up-to-date information across both platforms. This enhancement contributes to a more secure environment and a better user experience for customers. The connector is designed as a microservice and provides the following capabilities:

  • Create and Manage Users in EntraID B2C: This function facilitates the creation and management of user records in EntraID B2C.
  • Group Management: Manages records of B2C group owners and members.
  • Full Inventory: Maintains a comprehensive inventory of users, group owners, and members in EntraID B2C.
  • Incremental Inventory: Captures only changes in users, group owners, and members since the last inventory to optimize performance.

Supported Operations by SCIM Microservice

The SCIM microservice for EntraID B2C exposes multiple endpoints that facilitate identity management tasks and data synchronization between EntraID B2C and other systems supporting SCIM. Below are the specific operations and their corresponding endpoints:

OperationDescriptionEnd Point
Get UserRetrieve a user by their IDGET /v1.0/users/{Id}
Query UsersRetrieve users based on filters supported by the Graph API.GET /v1.0/users?filter={filter}&count={pageSize}
Query Users PagedRetrieve users with pagination support to the filters mentioned earlier.GET /v1.0/users/EIDExtension/Paged?filter={filter}&count={pageSize}&skipToken={skipToken}
Get Deleted UsersRetrieve deleted users in a specified time range.GET /v1.0/users/EIDExtension/Deleted?Filter=AuditLogStartTime eq {startTime} and AuditLogEndTime eq {endTime}
Get New or Updated UsersRetrieve users that have been updated or created within a specified time range.GET /v1.0/users/EIDExtension/NewOrUpdated?Filter=AuditLogStartTime eq {startTime} and AuditLogEndTime eq {endTime}
Update UserUpdate a user detail by their ID.PUT /v1.0/users/{Id}
Create UserCreate a user account.POST /v1.0/users
Delete UserDelete a user Account.DELETE /v1.0/users/{Id}
Password resetReset user password.POST /v1.0/users/EIDExtension/PasswordResetRequest
Get groupRetrieve a group based on the group ID.GET /v1.0/groups/{Id}
Query groupsRetrieve groups based on filters supported by the Graph API.GET /v1.0/groups?filter={filter}&count={pageSize}
Query Groups PagedRetrieve groups with pagination support and filters.GET /v1.0/groups/EIDExtension/Paged?filter={filter}&count={pageSize}&skipToken={skipToken}
Get New or Updated GroupsRetrieve groups that have been updated or created within a specified time range.GET /v1.0/groups/EIDExtension/NewOrUpdated?Filter=AuditLogStartTime eq {startTime} and AuditLogEndTime eq {endTime}
Update GroupUpdate a group by its ID.PUT /v1.0/groups/{Id}
Create GroupCreate a new group.POST /v1.0/groups
Delete GroupDelete a group.DELETE /v1.0/groups/{Id}
Get Group MembersRetrieve the members of a group by its ID.GET /v1.0/groups/EIDExtension/MemberQuery/{Id}
Get Group OwnersRetrieve the owners of a group by the ID.GET /v1.0/groups/EIDExtension/OwnerQuery/{Id}
Add/Remove Members or Owners to a GroupAdd or remove members or owners to/from a group.PATCH /v1.0/groups/{Id}
Get Deleted GroupsGet groups that have been deleted within a specified time rangeGET /v1.0/groups/EIDExtension/Deleted?Filter=AuditLogStartTime eq {startTime} and AuditLogEndTime eq {endTime}

Inventory

The EntraID B2C Connector offers two types of inventory processes, which are standard in every EmpowerID connector:

  • Incremental Inventory: Monitors the LastTimeStamp of the previous inventory run and imports only the changes in user and group identity data since then.
  • Full Inventory: Conducts a complete inventory of all Azure B2C users and groups each time the inventory job is executed.

Additional Inventory Jobs

Apart from the standard inventory jobs, the B2C connector includes additional jobs that gather important information about group ownership and membership within the B2C tenant. These jobs create JSON documents that are securely stored in the AzureJsonInbox table:

  • GroupOwnershipFullInventory: Collects information about group owners for all groups in the B2C tenant and creates JSON documents containing group ownership details.
    [
    {
    "groupId": "<group Object ID>",
    "owners": [
    {
    "id": "<Owner account Object ID>",
    "type": "<user/group/serviceaccount>"
    }
    // ...
    ]
    }
    // ...
    ]
  • GroupMembershipFullInventory: Gathers information about group memberships for all groups in the B2C tenant and creates JSON documents containing group membership details.
    [
    {
    "groupId": "<group Object ID>",
    "members": [
    {
    "id": "<member account Object ID>",
    "type": "<user/group/serviceaccount>"
    }
    // ...
    ]
    }
    // ...
    ]

Attribute Mappings

User Attributes

As part of the inventory process for AzureAD B2C and EmpowerID, user accounts from EntraID B2C are treated as accounts within the EmpowerID system. The following table shows how EntraID B2C user attributes map to corresponding EmpowerID account attributes:

EntraID B2C AttributeEmpowerID AttributeDescription
['urn:ietf:params:scim:schemas:azureAdB2C:2.0:UserProfile'].['identities'][?(@.signInType=='userName')].['issuerAssignedId']UserNameThe user's username for sign-in.
['urn:ietf:params:scim:schemas:extension:enterprise:2.0:User'].['manager'].['value']ManagerThe user's manager's ID.
['urn:ietf:params:scim:schemas:extension:enterprise:2.0:User'].departmentDepartmentThe user's department within the organization.
['urn:ietf:params:scim:schemas:extension:enterprise:2.0:User'].employeeNumberEmployeeIDThe user's employee identification number.
addresses[?(@.type=='work')].formattedOfficeLocationThe user's office location or address.
addresses[?(@.type=='work')].postalCodeZipCodeThe postal code of the user's office location.
addresses[?(@.type=='work')].streetAddressStreetAddressThe street address of the user's office location.
cityCityThe user's city.
companyNameCompanyThe user's company name.
countryCountryThe user's country.
displayNameDisplayNameThe user's display name.
emails[?(@.type=='work')].valueEmailThe user's work email address.
externalIdAliasAn external alias or identifier for the user.
name.familyNameLastNameThe user's last name.
name.givenNameFirstNameThe user's first name.
name.honorificSuffixGenerationalSuffixA generational suffix in the user's name.
name.middleNameMiddleNameThe user's middle name.
phoneNumbers[?(@.type=='fax')].valueFaxThe user's fax number.
phoneNumbers[?(@.type=='home')].valueHomePhoneThe user's home phone number.
phoneNumbers[?(@.type=='mobile')].valueMobileNumberThe user's mobile phone number.
phoneNumbers[?(@.type=='other')].valueTelephoneAnother telephone number associated with the user.
phoneNumbers[?(@.type=='work')].valueBusinessPhoneThe user's business phone number.
photos[?(@.type=='work')].valuePhotoURLThe URL to the user's work photo.
preferredLanguagePreferredLanguageThe user's preferred language.
profileUrlAboutMeInformation about the user's profile.
stateStateThe user's state or region.
titleJobTitleThe user's job title.
userNameLogonName
userTypeEmployeeTypeThe type of employee (e.g., full-time, part-time).

Group Attributes

As part of the AzureAD B2C and EmpowerID inventory process, group accounts from EntraID B2C are treated as groups within the EmpowerID system. The following table shows how EntraID B2C group attributes map to corresponding EmpowerID group attributes:

EntraID B2C AttributeEmpowerID AttributeDescription
descriptionDescriptionThe description or additional information about the group.
displayNameDisplayNameThe display name of the group.
externalIDAliasAn external identifier or alias associated with the group.
GroupTypegroupTypeThe type or category of the group.
membersMembersMembers of the group.
ownersOwnersOwners or administrators of the group.
ownersToAddownersToAddOwners to be added to the group.
ownersToRemoveownersToRemoveOwners to be removed from the group.

Role Attributes

As part of the AzureAD B2C and EmpowerID inventory process, roles from EntraID B2C are treated as roles within the EmpowerID system. The following table shows how EntraID B2C role attributes map to corresponding EmpowerID role attributes:

EntraID B2C AttributeEmpowerID AttributeDescription
descriptionDescriptionThe description or additional of the role.
displayNameFriendlyNameThe friendly or display name of the role.
externalIdAliasAn external identifier or alias associated with the role.
NameNameThe name of the role.
ParentIDParentPathThe parent identifier of the role entity within a hierarchical structure.

Location Attributes

As part of the EntraID B2C and EmpowerID inventory process, locations from EntraID B2C are treated as Business Roles and Locations (BRL) within the EmpowerID system. The following table shows how EntraID B2C location attributes map to corresponding EmpowerID BRL attributes:

descriptionDescriptionA textual or descriptive information about the location, providing details about what it represents.
displayNameFriendlyNameIt typically refers to the name or label that is displayed for this location.
externalIdAliasAn identifier used to reference the location in an external system or context.
NameNameThe name or identifier of the location.
ParentIDParentPathIf this location is part of a hierarchical structure, the ParentID would typically reference the identifier of the parent location.