The EmpowerID SuccessFactors Connector is an essential integration tool that connects EmpowerID's Identity Management platform with SAP SuccessFactors. This connector is designed to pull user information from SuccessFactors into EmpowerID, ensuring that user identities, roles, and related attributes are consistently reflected within EmpowerID. Using the SCIM 2.0 protocol and the OData protocol for data retrieval, the connector ensures consistent and reliable synchronization of data across all connected back-end user directories.
Architecture Overview
The architecture of this connector is built around three core components: the EmpowerID Microservice, the EmpowerID Account Store, and the OData Layer.
SAP SuccessFactors Microservice
The SAP SuccessFactors Microservice serves as the central processing unit within the connector’s architecture. Deployed on an Azure app service, this microservice is responsible for retrieving and processing user information from SuccessFactors. The microservice periodically queries SuccessFactors to pull the latest user data, ensuring that updates to user profiles or organizational roles are accurately captured within EmpowerID. By leveraging Azure's cloud infrastructure, the microservice benefits from high availability, scalability, and integrated security features, ensuring reliable and secure data processing.
SAP SuccessFactors Account Store
The SAP SuccessFactors Account Store is a specialized data repository within the connector architecture, designed to securely store the identity information retrieved from SuccessFactors. The account store serves as a central location within EmpowerID where SuccessFactors user data is synchronized and maintained. This setup ensures that the information pulled from SuccessFactors is readily available for identity management and governance purposes within EmpowerID, enabling organizations to enforce policies and manage access rights based on accurate and up-to-date user data.
OData Layer
The OData Layer facilitates the retrieval of user information from SuccessFactors. Positioned between the Azure Tenant and SuccessFactors, this layer utilizes the OData protocol to execute queries against the SuccessFactors database. The OData protocol allows the connector to efficiently filter, sort, and retrieve specific user data as needed, ensuring that only the relevant information is pulled into EmpowerID. This capability is essential for maintaining an optimized and performant integration, as it minimizes the amount of data processed while ensuring that all necessary identity information is accurately captured.
Inventory Objects and their corresponding components in EmpowerID
Users in SAP SuccessFactors are cataloged as accounts within EmpowerID, with their information mapped to the corresponding fields in the Account table of the EmpowerID Identity and Resource Warehouse. EmpowerID inventories a comprehensive set of user data, including personal and employment details, as well as future hires up to 30 days in advance. Depending on the configuration of the account store, EmpowerID can automatically provision Person objects from these user accounts. These Person objects are then fully integrated into EmpowerID's Joiner, Mover, and Leaver processes, enabling streamlined management of user lifecycle events.
Object in SuccessFactors | Component in EmpowerID |
---|---|
User | Account |
Attribute Mapping
The table below shows the attribute mappings of SAP SuccessFactors users to EmpowerID.
Personal Data
SuccessFactors Attribute | SCIM Attribute | EmpowerID Person Attribute |
---|---|---|
User.FirstName | Name.GivenName | FirstName |
User.LastName | Name.FamilyName | LastName |
personalInfoNav.MiddleName | Name.MiddleName | MiddleName |
User.Formatted | DisplayName | DisplayName |
PerPerson.DateOfBirth | additionalDataExtension.DateOfBirth | DateOfBirth |
personalInfoNav.Gender | additionalDataExtension.Gender | Gender |
homeAddressNavDFLT.Country | addresses.country && user.Country | Country |
homeAddressNavDFLT.ZipCode | address.PostalCode | ZipCode |
homeAddressNavDFLT.State | address.Region && user.State | State |
homeAddressNavDFLT.Address1 | address.StreetAddress | StreetAddress |
homeAddressNavDFLT.City | address.Locality && user.City | City |
employee.PersonExternalId | user.UserName , User.Id , user.ExternalId | Username , Id , LogonName |
emailNav.Value | email.Value | |
PerPhone.PhoneNumber | phoneNumber.Value | HomePhone |
User.EmpInfo.StartDate | enterpriseDataExtension.StartDate | ValidFrom |
User.EmpInfo.EndDate | enterpriseDataExtension.EndDate | AccountExpires |
User.custom01 | enterpriseDataExtension.custom01 | CustomAttribute01 |
Employment Data
SuccessFactors Attribute | SCIM Attribute | EmpowerID Person Attribute |
---|---|---|
EmploymentNav.JobInfo.Department | enterpriseUserExtension.Department | Department |
EmploymentNav.JobInfo.Division | enterpriseUserExtension.Divsion | Division |
EmploymentNav.JobInfo.SeqNumber | enterpriseUserExtension.EmployeeNumber | EmployeeId |
EmploymentNav.JobInfo.ManagerId | enterpriseUserExtension.Manager.Value | ManagerId |
EmploymentNav.JobInfo.CostCenterNav.Name | enterpriseUserExtension.CostCenter | CostCenter |
EmploymentNav.JobInfo.StartDate | enterpriseDataExtension.StartDate | ValidFrom |
EmploymentNav.JobInfo.EndDate | enterpriseDataExtension.EndDate | AccountExpires |
EmploymentNav.JobInfo.JobCode | enterpriseDataExtension.JobCode | JobCode |
EmploymentNav.JobInfo.JobTitle | enterpriseDataExtension.JobTitle | JobTitle |
EmploymentNav.JobInfo.CompanyNav.Name_en_US | enterpriseDataExtension.CompanyName | Company |
EmploymentNav.JobInfo.WorkLocation | enterpriseDataExtension.WorkLocation | OfficeLocation |
EmploymentNav.JobInfo.EmployeeStatusNav.Status | enterpriseDataExtension.EmployeeStatus | EmployeeStatus |
EmploymentNav.JobInfo.CostCenterNav.CostCenterDescription | enterpriseDataExtension.CostCenterDescription | CostCenterDescription |
EmploymentNav.JobInfo.CompanyNav.Name | enterpriseDataExtension.CompanyDescription | CompanyDescription |
EmploymentNav.JobInfo.BusinessUnit | enterpriseDataExtension.BusinessUnit | BusinessUnit |
EmploymentNav.JobInfo.BusinessUnitNav.Name(EmploymentNav.JobInfo.BusinessUnitNav.ExternalCode) | enterpriseDataExtension.BusinessUnitDescription | OrgUnit |
EmploymentNav.JobInfo.IsFulLTimeEmployee | enterpriseDataExtension.IsFullTimeEmployee | IsFulLTimeEmployee |
EmployeeNav.IsContigentWorker | enterpriseDataExtension.IsContigentWorker | IsContigentWorker |
EmployeeNav.JobInfo.PositionNav.Code | enterpriseDataExtension.PositionCode | PositionCode |
employeeNav.LastDayWorked | enterpriseDataExtension.LastDayWorked | LastDayWorked |
employmentNav.OriginalStartDate | enterpriseDataExtension.OriginalStartDate | OriginalHireDate |
employmentNav.ServiceDate | effectiveStartDate |