RMLL 2014 - LDAP Synchronization Connector

Preview:

DESCRIPTION

Presentation of LDAP Synchronization Connector, with the new features of 2.1 release, including the Executable plugin.

Citation preview

Clément OUDOTcoudot@linagora.com

2

About the speaker

What is LSC ?

Free softwareFree software TechnologiesTechnologies InteroperabilityInteroperability

BSD license

Community leadership

Java

XML configuration

JS/Groovy scripting

Perl (monitoring)

LDAP (jndi)

Active Directory

SGBD (jdbc)

Google Apps

Files (CSV)

OpenLDAP Active Directory

LDAPv3 advanced support

StartTLSStartTLS

Paged Paged ResultResult

LDAP SyncLDAP Sync(Syncrepl)(Syncrepl)

Scripting helpers

LQLLQL

SecuritySecurity

SambaSambaLSC

Active Active DirectoryDirectory

LDAP Query Language

srcLdap.attribute( srcLdap.list( "ou=services", "uniqueMember=" + srcBean.getDistinguishName() + "" ), 'description').get(0)

Access to srcLdap (source) and ldap (destination) connection objects

attributeattribute searchsearch listlist

readread supsup

Plugins

NISNIS ExecutableExecutable OBMOBM

The “sync” phase

Source Destination

1122

33

4455

List all entriesRead pivot

Get each entryRead attributes

Get each entryRead attributes

LSC

Calculatemodifications

Applymodifications

The “clean” phase

Source Destination

11

22

3344

List all entriesRead pivot

Get each entry

LSC

Calculatedeletions

Applydeletions

Configuration overview

● Main configuration file: lsc.xml

● Logs : logback.xml● SQL queries : sql-map-

config.xml / sql-map-config.d/

ConnectionsConnections

TasksTasks

ServicesServices

RulesRules

LDAP connection<ldapConnection>  <name>ldap­dst­conn</name>  <url>ldap://HOSTNAME/SUFFIX</url>  <username>DN</username>  <password>PWD</password>  <authentication>SIMPLE</authentication>  <referral>IGNORE</referral>  <derefAliases>NEVER</derefAliases>  <version>VERSION_3</version>  <pageSize>­1</pageSize>  <factory>com.sun.jndi.ldap.LdapCtxFactory</factory>  <tlsActivated>false</tlsActivated></ldapConnection>

Database connection

<databaseConnection>  <name>jdbc­src­conn</name>  <url>jdbc:JDBC_URL</url>  <username>USER</username>  <password>PWD</password>  <driver>JDBC_DRIVER</driver></databaseConnection>

Dataset

<dataset>  <name>cn</name>  <policy>FORCE</policy>  <forceValues>    <string><[CDATA[srcBean.getDatasetFirstValueById("FIRSTNAME") + srcBean.getDatasetFirstValueById("NAME");    ]]></string>  </forceValues></dataset>

Executable plugin

LDIF Source ServiceLDIF Destination

ServiceLDAP Destination

Service

LISTGET

ADDUPDATEREMOVERENAME

LISTGETADDUPDATEREMOVERENAME

16

Thanks

RMLL Staf LSC team LINAGORA

17

Stay tuned

IRC

#lsc-project@freenode

http://lists.lsc-project.org/

https://www.ohloh.net/p/lsc

http://lsc-project.org