This guide is all you need to know about UNIFYAssure/ELMO.

Solution objectives

  • Creating and disabling Active Directory/Azure Active Directory Accounts based on ELMO Talent HR data.
  • Keeps account attributes up to date.
  • Maintains Manager and Direct Reports relationships.

Compatibility

UNIFYAssure/ELMO is compatible with:

  • ELMO Talent HR, with API integration
  • Microsoft Active Directory or Microsoft Azure Active Directory

Connectivity

ELMO Talent connectivity

The UNIFYAssure/ELMO connector uses the ELMO User APIs. UNIFYAssure will need the ELMO API security keys to access the APIs.

Microsoft Active Directory

UNIFYAssure uses LDAP/SSL to communicate with Microsoft Active Directory. See Networking about how this is secured.

Microsoft Azure Active Directory

UNIFYAssure uses the GRAPH APIs to communicate with Azure Active Directory.

Networking

UNIFYAssure will only use secure channels to communicate.

  • TLS 1.3 or higher connections are preferred.
  • If we need to communicate within your network, there are two options:
    • Virtual Private Network (VPN). There are some limitations to this, contact us to discuss.
    • A UNIFYAssure agent. This can be run on a server inside your network, and can be firewalled to only contact those services needed.

Cloud only

flowchart LR UNIFYAssure ELMO AAD[Azure Active Directory] UNIFYAssure-->|ELMO User API|ELMO UNIFYAssure-->|GRAPH|AAD

Active Directory with VPN

flowchart LR UNIFYAssure ELMO subgraph Enterprise VPN AD[Active Directory] end UNIFYAssure-->|ELMO User API|ELMO UNIFYAssure-->|LDAPS|VPN VPN-->|LDAPS|AD

Active Directory with Agent

flowchart LR UNIFYAssure ELMO subgraph Enterprise Firewall UAAgent[UNIFYAssure Agent] AD[Active Directory] end UNIFYAssure-->|ELMO User API|ELMO UAAgent-->|REST|Firewall Firewall-->|REST|UNIFYAssure UAAgent-->|LDAPS|AD

There are other combinations available, just contact us to find out how we can connect.

Security

Find out more about how we handle security in the FAQ.

Functionality

Using ELMO as the Authoritative Source or “Point of Truth”, the following functionality is offered:

  • Automated On-Boarding and Off-Boarding
  • Active Directory/Azure Active Directory Account Creation
  • Account automatically created in Active Directory based upon employee creation in ELMO and nominated ELMO information synchronised to the relevant Active Directory/Azure Active Directory account. (Includes updating Manager and Direct Reports relationships in Active Directory based upon the Employee’s Position.)

Schema

erDiagram ELMOUser ||--|| UNIFYAssure_Person : syncs ELMODepartment ||--|| UNIFYAssure_Person : syncs ELMOPosition ||--|| UNIFYAssure_Person : syncs ELMOLocation ||--|| UNIFYAssure_Person : syncs AD_User ||--|| UNIFYAssure_Person : syncs ELMOUser { string id string identifier string firstName string lastName string username email email boolean active string employeeNumber string manager date startDate date endDate date expiryDate string country string state link position link location link department } ELMODepartment { string id string title string departmentId string description link parent boolean deleted } ELMOPosition { string id string title string positionId string description link parent boolean deleted } ELMOLocation { string id string title string locationId string description string addressline1 string addresslin2 string suburb string state string postcode string country link parent boolean deleted } AD_User { guid objectGuid date accountExpires string cn string company string department string displayName string ActiveDirectoryPersonDn string employeeID string employeeNumber string givenName string initials AD_User manager string ActiveDirectoryPersonObjectClass string physicalDeliveryOfficeName string sAMAccountName string sn string title string userPrincipalName email mail }

Lifecycle Management

sequenceDiagram UNIFYAssure->>ELMO User API: Query ELMO User API->>UNIFYAssure: Query results opt Employee Started UNIFYAssure->>AD/AAD: Create account end opt Employee Changed UNIFYAssure->>AD/AAD: Update account end opt Employee Terminated UNIFYAssure->>AD/AAD: Disable account end UNIFYAssure->>AD/AAD: Query AD/AAD->>UNIFYAssure: Query results opt Contact details changed UNIFYAssure->>ELMO User API: Update User end

Customisations

Some customisations are permitted under UNIFYAssure pricing. This is limited to

  • Additional fields can be read from ELMO. These fields can be written directly to a field on Active Directory objects with no transformations.
  • Additional fields can be written to ELMO, provided these fields already exist in objects above. Refer to your ELMO documentation for which fields are included in those API calls.
  • Additional fields can be read/written from Active Directory/Azure Active Directory, provided they are on the user object, and either available through AD LDAP or AAD GRAPH.

Any customisations outside of this may either be made by a short engagement or by using UNIFYConnect instead. Please contact us to discuss.

Requirements Checklist

Software

  • Directories:
    • Microsoft Active Directory 2008 or later; or
    • Microsoft Azure Active Directory
  • ELMO Talent HR
    • User API activated

Configuration

ELMO User API

Your API Key and a Personal Access token must be supplied.

Correlation IDs

The UNIFYAssure/ELMO service will provision a new AD account for an ELMO employee record on synchronisation if an existing AD account cannot first be matched to that employee record. This match requires the use of a correlation ID or breadcrumb on the AD account, such as the employeeID AD user property recommended by UNIFY. This property must already exist in AD and contain the unique ELMO UserID for every employee record that must be matched to an existing AD account.

Please contact UNIFY for your options should this not be already set up.

Directories

Choose which of the two directory options suits you best.

Active Directory

This section is for those that are connecting the service to Active Directory.

UNIFYAssure must have an account on Active Directory with permissions to create, modify and disable accounts. It must also be aware of the SSL certificate used by the LDAPS end-point on the nominated Active Directory server.

  • An Active Directory account with appropriate permissions has been created for use by UNIFYAssure/ELMO
  • Connectivity must be arranged for the Active Directory. The two preferred options are a VPN, or the UNIFYAssure agent.
  • UNIFYAssure must have a valid certificate chain. Therefore, either the Active Directory end-point SSL certificate is from a Windows Trusted Certificate Authority, or UNIFY Solutions must be supplied with a public Certificate Authority root certificate.

Azure Active Directory

To connect to your Azure Active Directory, you will need to create an App Registration with a ClientID and ClientSecret. The permissions granted to this App Registration are User.ReadWrite.All and Group.ReadWrite.All, or Directory.ReadWrite.All.

Dependencies

Active Directory

In any enterprise Active Directory installation, attribute values maintained on user objects are usually used to drive enterprise policy. This may include but not be limited to the following:

  • Use of automation (e.g. in login scripts) to map user home drives and user profile paths to managed network resources/file shares;
  • Use in dynamic distribution lists (e.g. Exchange Dynamic Lists) to leverage user attributes to address emails to collections of users;
  • Use in other policy to drive membership of other AD groups, such as security groups or groups; and
  • Calculation of license (CAL) counts based on the number of active employee records, for example.

With the implementation of synchronisation rules in UNIFYAssure, some of the properties used in policy such as the above will now be mastered (authoritative) in ELMO Talent HR. This implies that any downstream dependencies must be in alignment with the new data source for all mapped and synchronised properties, and that attempts to alter the synchronised attributes directly in AD post implementation may be undone in subsequent synchronisation cycles.

Additionally, in order for UNIFYAssure to provision new AD accounts that meet various uniqueness, GAL visibility and security policy criteria, rules have been built into the solution to initialise the following special attributes:

  • Email address
  • Windows Login Name (pre Windows 2000 format)
  • User Principal Name
  • Common Name
  • Display Name

Given that there will always be scenarios where name clashes occur in an environment which cannot be resolved without some form of human intervention, the synchronisation model is designed to allow these specific values to be changed manually directly in AD post provisioning, and for these to persist despite future synchronisation cycles. The initial values set by the solution are determined according to UNIFY’s accumulated best practice and experience, and that this model has been adopted for this solution to deliver the best, most manageable outcome within budget.

ELMO

A typical ELMO deployment will incorporate policy, in the form of workflow, based on employee attribute values changing. One example might be the changing/setting of an email address resulting in a notification being sent to that target.

Any ELMO workflows which may be initiated as a result of email updates must be understood and adjusted if required to avoid the initiation of unwanted emails, particularly when these occur for large numbers of updates which may occur in the initial synchronisation steps following deployment.

Disaster Recovery

We are pretty confident in our solution. It has run large enterprises identity systems for years. However, it is always a good idea to plan for the slight risk of something going wrong.

For both your directory and your ELMO, you need to make sure you have valid disaster recovery plans that work. We will check with you before we complete the installation.