ILST configuration reference guide
The following sections and tables describe the elements of the ILST configuration file and their typical values.
For step-by-step instructions on configuring the ILST, see Configuring the ILST.
Sections in this article:
<Connections>
The <Connections> element contains one or more <Connection> elements. Each <Connection> element contains connection information to a specific LDAP supported data source (e.g., Microsoft Active Directory, Azure AD).
An example <Connections> element with a single <Connection> element:
<Connections> <Connection> <Id>1</Id> <Title>LDAP Connection</Title> <Host>ldap.community.com</Host> <Port>636</Port> <IsSSL>true</IsSSL> <AuthenticationType>Basic</AuthenticationType> <Username>cn=username,ou=users,dc=community,dc=com</Username> <PasswordEncrypted>mypassword</PasswordEncrypted> <BaseDN>OU=users,dc=community,dc=com</BaseDN> <ProtocolVersion>3</ProtocolVersion> <PageSize>1000</PageSize> <ReferralChasingOption></ReferralChasingOption> </Connection> </Connections
The following table describes the elements of a <Connection>:
Element | Description |
---|---|
<Id> | Contains an integer value that is unique amongst all <Connection> elements. If you have a single <Connection> element use the default value of 1 . However, if you have multiple <Connection> elements, give each <Id> a unique integer value. |
<Title> | Contains a unique name that identifies the <Connection>. |
<Host> | Contains the hostname or IP Address of your data source. |
<Port> | Contains the port number used for the connection.
|
<IsSSL> | Contains a boolean value that flags the use of LDAPS or not.
|
<AuthenticationType> | Contains the authentication type that the ILST uses to connect to your data source.
|
<Username> | Contains the username of a user who has read access to your data source. This value is used to authenticate the user to your data source when using an <AuthenticationType> of Basic .This value will be a user's Distinguished Name or User Principal Name. For example: cn=username,ou=users,dc=community,dc=comFor more information about distinguished names, see Microsoft | Distinguished Names. |
<PasswordEncrypted> | Contains the password associated with then <Connection> element's <Username> value. This value is used to authenticate the user to your data source when using an <AuthenticationType> of Basic .Enter this value as plain text; it will be encrypted during Phase 1 of the configuration process. |
<BaseDN> | Contains the Distinguished Name of the point in the data source's hierarchy where the login query will begin from. This must be high enough up in the directory to include the user you are connecting with. For example: dc=community,dc=com For more information about distinguished names, see Microsoft | Distinguished Names. |
<ProtocolVersion> | Contains the LDAP Protocol version to be used. This value should be set to 3 . |
<PageSize> | Contains the number of results to be returned on each page from the data source. This value should be set to 1000 . |
<ReferralChasingOption> | Contains any referral chasing preferences the query should have. This element is typically left empty unless Igloo Support requests that you add a value. |
<UserAccounts>
The <UserAccounts> element contains one or more <UserAccount> elements. Each <UserAccount> element contains information for syncing users and user profile information.
You are required to have a <UserAccount> element for each <Connection> you have.
An example <UserAccounts> element with a single <UserAccount> element and a single additional <Attribute>:
<UserAccounts> <UserAccount> <Title>User Accounts</Title> <ConnectionId>1</ConnectionId> <SearchString>(&(objectclass=user)(mail=*)(givenName=*)(sn=*)((!userAccountControl:1.2.840.113556.1.4.803:=2)))</SearchString> <SearchScope>Subtree</SearchScope> <RevokeIfFoundInSearch>false</RevokeIfFoundInSearch> <RevokeDisabled>false</RevokeDisabled> <!-- BaseDN for the query --> <BaseDN>OU=users,dc=community,dc=com</BaseDN> <AccessControlAttribute>userAccountControl</AccessControlAttribute> <EmailAttribute> <ActiveDirectoryName>mail</ActiveDirectoryName> <IglooName>email</IglooName> <DataTypeParser>DirectString</DataTypeParser> </EmailAttribute> <UniqueIdentiferAttribute> <ActiveDirectoryName>objectGUID</ActiveDirectoryName> <IglooName>customIdentifier</IglooName> <DataTypeParser>Guid</DataTypeParser> </UniqueIdentiferAttribute> <FirstNameAttribute> <ActiveDirectoryName>givenName</ActiveDirectoryName> <IglooName>firstname</IglooName> <DataTypeParser>DirectString</DataTypeParser> </FirstNameAttribute> <SurnameAttribute> <ActiveDirectoryName>sn</ActiveDirectoryName> <IglooName>lastname</IglooName> <DataTypeParser>DirectString</DataTypeParser> </SurnameAttribute> <ManagerAttribute> <ActiveDirectoryName>manager</ActiveDirectoryName> </ManagerAttribute> <ProfilePictureAttribute> <ActiveDirectoryName>thumbnailPhoto</ActiveDirectoryName> <DataTypeParser>RawBytes</DataTypeParser> </ProfilePictureAttribute> <Attributes> <Attribute> <ActiveDirectoryName>l</ActiveDirectoryName> <IglooName>city</IglooName> <DataTypeParser>DirectString</DataTypeParser> <ClearIfEmpty>false</ClearIfEmpty> </Attribute> </Attributes> </UserAccount> </UserAccounts>
The following table describes the elements of a <UserAccount>:
Element | Description |
---|---|
<Title> | Contains a unique name that identifies the <UserAccount>. |
<ConnectionId> | Contains an integer value that matches the <Id> of the associated <Connection>. If you have a single <Connection> element, use the default value of 1 . |
<SearchString> | Contains an LDAP search string that the ILST will use to return a pool of users from your data source that will then be synced to your digital workplace. For examples of common LDAP search strings, see Common LDAP Search Strings used with the ILST. |
<SearchScope> | Contains a value that indicates how far down the <SearchString>should look in the directory structure for results.
Typically this will be set to |
<RevokeIfFoundInSearch> | Contains a boolean value that determines whether the ILST will revoke all user accounts returned by the <SearchString> from your digital workplace.
|
<RevokeDisabled> | Contains a boolean value that determines whether the ILST will revoke all disabled user accounts returned by the <SearchString>from your digital workplace.
|
<BaseDN> | Contains the Distinguished Name of the point in the data source's hierarchy where the <SearchString> will begin from. All users you want to sync with your digital workplace need to be at or below this point in your data source. For example: ou=users,dc=community,dc=comFor more information about distinguished names, see Microsoft | Distinguished Names. |
<AccessControlAttribute> | Contains the attribute name that has information about a user's account status. The default value is userAccountControl . |
<EmailAttribute> | Contains elements that identify the name of the email attribute in your data source and digital workplace. These elements are:
|
<UniqueIdentiferAttribute> | Contains elements that identify the name of the unique ID attribute in your data source and digital workplace. These elements are:
The value used for the <UniqueIdentiferAttribute> should:
|
<FirstNameAttribute> | Contains elements that identify the name of the first name attribute in your data source and digital workplace. These elements are:
|
<SurnameAttribute> | Contains elements that identify the name of the last name attribute in your data source and digital workplace. These elements are:
|
<ManagerAttribute> | Contains elements that identify the name of the manager attribute in your data source. These elements are:
The <ManagerAttribute> can only be synced from an on-prem Active Directory. |
<ProfilePictureAttribute> | Contains elements that identify the name of the profile picture in your data source. These elements are:
-pictures argument.The <ProfilePictureAttribute> can only be synced from an on-prem Active Directory. |
<Attributes> | Contains additional <Attribute> elements that you want to sync from your data source to your digital workplace. Each <Attribute> element must contain the following elements:
Example of the <Attributes> element that contains two additional <Attribute> elements: <Attributes> <Attribute> <ActiveDirectoryName>example_start_date</ActiveDirectoryName> <IglooName>work_start_date</IglooName> <DataTypeParser>DateTime</DataTypeParser> <ClearIfEmpty>false</ClearIfEmpty> </Attribute> <Attribute> <ActiveDirectoryName>example_title</ActiveDirectoryName> <IglooName>occupation</IglooName> <DataTypeParser>DirectString</DataTypeParser> <ClearIfEmpty>false</ClearIfEmpty> </Attribute> <Attributes> |
<Groups>
The <Groups> element contains one or more <Group> elements. Each <Group> element contains information for syncing a specific collection of users in your data source to a specific group in your digital workplace.
The <Groups> element is optional and commented out by default. To begin syncing groups, remove the comments and fill out a <Group> element for each group you want the ILST to populate.
An example <Groups> element with a single <Group> element:
<Groups> <Group> <Title>Users</Title> <ConnectionId>1</ConnectionId> <SearchString>(&(mail=*)(giveName=*)(sn=*))</SearchString> <SearchScope>Subtree</SearchScope> <RevokeIfFoundInSearch>false</RevokeIfFoundInSearch> <RevokeDisabled>true</RevokeDisabled> <IglooGroup>{Group ID Here}</IglooGroup> <AccessControlAttribute>userAccountControl</AccessControlAttribute> <BaseDN>Ou=users,DC=community,DC=com</BaseDN> </Group> </Groups>
The following table describes the elements of a <Group>:
Element | Description |
---|---|
<Title> | Contains a unique name that identifies the <Group>. Using the name of the Igloo group you are syncing to is recommended. |
<ConnectionId> | Contains an integer value that matches the <Id> of the associated <Connection>. If you have a single <Connection> element, use the default value of 1 . |
<SearchString> | Contains an LDAP search string that the ILST will use to return a pool of users from your data source that will then be synced to the <IglooGroup> in your digital workplace. If users are not returned by the <SearchString> in the associated <UserAccount> element, they are ignored and not synced to the specified <IglooGroup>. For examples of common LDAP search strings, see Common LDAP Search Strings used with the ILST. |
<SearchScope> | Contains a value that indicates how far down the <Group> element's <SearchString> should look in the directory structure for results.
Typically this will be set to |
<RevokeIfFoundInSearch> | Contains a boolean value that determines whether the ILST will remove all user accounts returned by the <Group> element's <SearchString> from their associated <IglooGroup>.
|
<RevokeDisabled> | Contains a boolean value that determines whether the ILST will remove all disabled user accounts returned by the <Group> element's <SearchString> from their associated <IglooGroup>.
|
<IglooGroup> | Contains the GUID of an existing digital workplace group that you want to sync users with. For instructions on finding the GUID values of groups in your digital workplace, see Finding group GUIDs for ILST group mapping. An example group GUID: 3d184726-fcb4-4719-8773-e132221e1b18 |
<AccessControlAttribute> | Contains the attribute name that has information about a user's account status. The default value is userAccountControl . |
<BaseDN> | Contains the Distinguished Name of the point in the data source's hierarchy where the <Group> element's <SearchString> will begin from. All users you want to sync with a digital workplace group need to be at or below this point in your data source. For example: ou=users,dc=community,dc=comFor more information about distinguished names, see Microsoft | Distinguished Names. |
<OneToOneGroups>
The <OneToOneGroups> element contains one or more <GroupId> elements. Each <GroupId> element contains the GUID of an existing digital workplace group that you want to have the ILST manage. When doing this, keep in mind the following:
- A managed group will have its membership determined by the results of a <Group> element's <SearchString>.
- <GroupId> should contain the value of the associated <Group> element's <IglooGroup> element.
- Groups managed by the ILST should not be manually managed from within your digital workplace.
The <OneToOneGroups> element is optional and commented out by default. To have the ILST manage the membership of groups, remove the comments and fill out a <GroupID> element for each group you want the ILST to manage.
An example <OneToOneGroups> element with a single <GroupId> element:
<OneToOneGroups> <GroupId>3d184726-fcb4-4719-8773-e132221e1b18</GroupId> </OneToOneGroups>
<ApplicationSettings>
The <ApplicationSettings> element contains elements that determine how the ILST functions and how it revokes users.
An example of a default <ApplicationSettings> element:
<ApplicationSettings> <TestMode>true</TestMode> <TestOutputDirectory>.\</TestOutputDirectory> <RevokeAdmins>false</RevokeAdmins> <RevokeIfNotInSearch>false</RevokeIfNotInSearch> <RevokeNonDelegateUsers>false</RevokeNonDelegateUsers> <RevokeUsersNotManagedByLdap>false</RevokeUsersNotManagedByLdap> <AllowIdChange>true</AllowIdChange> </ApplicationSettings>
The following table describes the elements contained in the <ApplicationSettings > element:
Element | Description |
---|---|
<TestMode> | Contains a boolean value that determines whether the ILST will output the resulting sync to a file on your computer rather than making changes to your digital workplace.
|
<TestOutputDirectory> | Contains the location where <TestMode> files are saved. The ILST will create this location if it does not already exist. The default value is .\ . |
<RevokeAdmins> | Contains a boolean value that determines whether the ILST will revoke digital workplace administrators.
|
<RevokeIfNotInSearch> | Contains a boolean value that determines whether the ILST will revoke users not found in a <UserAccount> element's <SearchString>.
|
<RevokeNonDelegateUsers> | Contains a boolean value that determines whether the ILST will revoke users who have only authenticated to your digital workplace with Igloo authentication.
|
<RevokeUsersNotManagedByLdap> | Contains a boolean value that determines whether the ILST will revoke users who are not flagged as being managed by the ILST.
|
<AllowIdChange> | Contains a boolean value that determines whether the ILST can update customIdentifiers.
|
<CommunityApi>
The <CommunityApi> element contains elements that describe how the ILST connects to and interacts with your digital workplace.
An example of a <CommunityApi> element:
<CommunityApi>
<Domain>https://www.yourcommunity.com</Domain>
<Username>syncadmin@emailaddress.com</Username>
<PasswordEncrypted>syncpassword</PasswordEncrypted>
<UniqueIdentifierName>customIdentifier</UniqueIdentifierName>
<ManagedByLdapFieldName>managedByLdap</ManagedByLdapFieldName>
<ProfileBatchSize>250</ProfileBatchSize>
<ManagerNameFieldName>i_report_to</ManagerNameFieldName>
<ManagerEmailFieldName>i_report_to_email</ManagerEmailFieldName>
</CommunityApi>
The following table describes the elements contained in the <CommunityApi> element:
Element | Description |
---|---|
<Domain> | Contains the fully qualified root domain of your digital workplace. For example: https://www.yourcommunity.com |
<Username> | Contains the email address of a digital workplace administrator's user account. This user account should not be used for normal interaction (i.e., creating content or other administration) in the workplace. For example: syncadmin@emailaddress.com |
<PasswordEncrypted> | Contains the Igloo authentication password associated with the <CommunityApi> element's <Username> value. Enter this value as plain text; it will be encrypted during Phase 1 of the configuration process. |
<UniqueIdentifierName> | Contains the name of the attribute that the ILST uses as a unique identifier. This value should always be customIdentifier . |
<ManagedByLdapFieldName> | Contains the name of the attribute that the ILST uses to flag as being managed by it. This value should always be managedByLdap . |
<ProfileBatchSize> | Contains the number of users returned by the Igloo API. The default value is 250 . |
<ManagerNameFieldName> | Contains the name of the attribute that the ILST uses to sync the manager name. This value should always be i_report_to . |
<ManagerEmailFieldName> | Contains the name of the attribute that the ILST uses to sync the manager's email address. This value should always be i_report_to_email . |