Hello, I use Active Directory in Windows Server 2003, now I would like to sync these database to an OpenLDAP server setup on Google Cloud [AD -> OpenLDAP], this server will use to authenticate for user to use company service (Forum, Chat, Website login ect...) (OpenLDAP like a read-only server with data pull from AD).
This is my lsc.xml source, when try *synchronization*, alway report *"ERROR - Synchronization aborted because no source object has been found"* <?xml version="1.0" ?> <!-- In the following file, comments are describing each node. Elements are referenced through XPath expression, whereas attributes are prefixed with '@' //lsc Root node of the XML configuration file @xmlns XML Schema validation is not ready yet (Reserved for futur use) @id optional, added by XML API @revision mandatory, used by the Web Administration Interface to version this file --> <lsc xmlns="http://lsc-project.org/XSD/lsc-core-2.1.xsd" revision="0"> <!-- ./connections Connections list node, must contain at least two connections --> <connections> <!-- ./connection Connection node, include definition of the required parameters. Depending on the connection type, properties vary. Existing class type are : ldapConnection, databaseConnnection Plugins also provides : nisConnection, jndiExecDstConnection --> <ldapConnection> <name>AD</name> <!-- ./url mandatory, the JNDI URL --> <url>ldap://ldap.domain.xyz/dc=localdomain,dc=xyz</url> <!-- ./username mandatory, the DN to bind with --> <username>[email protected]</username> <!-- ./password mandatory, credentials to bind with --> <password>ad_password</password> <!-- ./authentication mandatory, must contain either ANONYMOUS, SIMPLE, SASL, GSSAPI or DIGEST_MD5 --> <authentication>SIMPLE</authentication> <!-- ./referral mandatory, must contain either IGNORE, THROUGH, THROW or FOLLOW --> <referral>IGNORE</referral> <!-- ./derefAliases mandatory, must contain either NEVER, SEARCH, FIND, ALWAYS --> <derefAliases>NEVER</derefAliases> <!-- ./version mandatory, must contain either VERSION_2, VERSION_3 --> <version>VERSION_3</version> <!-- ./pageSize optional, specify the paged size when searching --> <pageSize>1000</pageSize> <!-- ./factory mandatory, points to LDAP Context Factory, com.sun.jndi.ldap.LdapCtxFactory for a SUN JDK --> <factory>com.sun.jndi.ldap.LdapCtxFactory</factory> <!-- ./tlsActivated optional, specify if SSL/TLS is activated to connect to the LDAP server --> <tlsActivated>false</tlsActivated> </ldapConnection> <ldapConnection> <name>LDAP</name> <!-- ./url mandatory, the JNDI URL --> <url>ldap://127.0.0.1/dc=localdomain,dc=xyz</url> <!-- ./username mandatory, the DN to bind with --> <username>cn=admin,dc=localdomain,dc=xyz</username> <!-- ./password mandatory, credentials to bind with --> <password>ldap_password</password> <!-- ./authentication mandatory, must contain either ANONYMOUS, SIMPLE, SASL, GSSAPI or DIGEST_MD5 --> <authentication>SIMPLE</authentication> <!-- ./referral mandatory, must contain either IGNORE, THROUGH, THROW or FOLLOW --> <referral>IGNORE</referral> <!-- ./derefAliases mandatory, must contain either NEVER, SEARCH, FIND, ALWAYS --> <derefAliases>NEVER</derefAliases> <!-- ./version mandatory, must contain either VERSION_2, VERSION_3 --> <version>VERSION_3</version> <!-- ./pageSize optional, specify the paged size when searching --> <pageSize>-1</pageSize> <!-- ./factory mandatory, points to LDAP Context Factory, com.sun.jndi.ldap.LdapCtxFactory for a SUN JDK --> <factory>com.sun.jndi.ldap.LdapCtxFactory</factory> <!-- ./tlsActivated optional, specify if SSL/TLS is activated to connect to the LDAP server --> <tlsActivated>false</tlsActivated> </ldapConnection> </connections> <tasks> <task> <name>adUser</name> <bean>org.lsc.beans.SimpleBean</bean> <ldapSourceService> <name>ad-source-service</name> <connection reference="AD" /> <baseDn>ou=ABC,dc=localdomain,dc=xyz</baseDn> <pivotAttributes> <string>sAMAccountName</string> </pivotAttributes> <fetchedAttributes> <string>cn</string> <string>description</string> <string>givenName</string> <string>mail</string> <string>objectclass</string> <string>pwdLastSet</string> <string>sAMAccountName</string> <string>sn</string> <!-- if request password, need use tls connection --> <!-- <string>unicodePwd</string> --> <string>userAccountControl</string> <string>userPrincipalName</string> </fetchedAttributes> <getAllFilter><![CDATA[(&(objectClass=user)(!(objectClass=computer)))]]></getAllFilter> <getOneFilter><![CDATA[(&(objectClass=user)(!(objectClass=computer))(sAMAccountName={uid}))]]></getOneFilter> <cleanFilter><![CDATA[(&(objectClass=user)(!(objectClass=computer))(sAMAccountName={uid}))]]></cleanFilter> </ldapSourceService> <ldapDestinationService> <name>openldap-dst-service</name> <connection reference="LDAP" /> <baseDn>ou=ABC,dc=localdomain,dc=xyz</baseDn> <pivotAttributes> <string>uid</string> </pivotAttributes> <fetchedAttributes> <string>cn</string> <string>description</string> <string>givenName</string> <string>mail</string> <string>sn</string> <string>uid</string> <!-- if request password, need use tls connection --> <!-- <string>userPassword</string> --> </fetchedAttributes> <getAllFilter><![CDATA[(objectClass=inetOrgPerson)]]></getAllFilter> <getOneFilter><![CDATA[(&(objectClass=inetOrgPerson)(uid={uid}))]]></getOneFilter> <!--<cleanFilter><![CDATA[(&(objectClass=inetOrgPerson)(uid={sAMAccountName}))]]></cleanFilter>--> </ldapDestinationService> <propertiesBasedSyncOptions> <mainIdentifier>"cn=" + srcBean.getDatasetFirstValueById("cn") + ",ou=ABC,dc=localdomain,dc=xyz"</mainIdentifier> <defaultDelimiter>;</defaultDelimiter> <defaultPolicy>FORCE</defaultPolicy> <conditions> <create>true</create> <update>true</update> <delete>true</delete> <changeId>true</changeId> </conditions> <dataset> <name>uid</name> <policy>KEEP</policy> <createValues> <string>srcBean.getDatasetFirstValueById("sAMAccountName")</string> </createValues> </dataset> </propertiesBasedSyncOptions> </task> </tasks> <!-- ./audits Audits list node --> <audits> <!--./audit Audit node, here a CSV audit, may also be a LDIF or any contributed audit type --> <csvAudit> <!-- ./name mandatory, audit name --> <name>csv</name> <!-- ./append optional, default to false, specify to create a new log file or to append to the existing one --> <append>true</append> <!-- ./operations optional, comma separated list of operations (create, delete, update or rename) --> <operations>create, delete</operations> <!-- ./file mandatory, define the location of the file where the CSV data will be written --> <file>/tmp/dump.csv</file> <!-- ./datasets optional, comma separated list of datasets modification to log --> <datasets>cn, dn</datasets> <!-- ./separator optional, default to ";", specify the values separator --> <separator>,</separator> </csvAudit> </audits> <!-- ./tasks Task list node, must contain at least one task --> <!-- ./security This mandatory node contains the security settings used by LSC --> <security> <!-- ./encryption This optional node contains the encryption settings --> <encryption> <!-- ./keyfile This optional node contains the keyfile location --> <keyfile>etc/lsc.key</keyfile> <!-- ./algorithm This optional node contains the encryption algorithm --> <algorithm>AES</algorithm> <!-- ./strength This optional node contains the algorithm key length --> <strength>128</strength> </encryption> </security> </lsc> Run command to test: /usr/bin/lsc -f /etc/lsc/ad2openldap -s all -c all -n This is log: Jan 19 10:00:30 - INFO - Logging configuration successfully loaded from /etc/lsc/ad2openldap/logback.xml Jan 19 10:00:30 - INFO - LSC configuration successfully loaded from /etc/lsc/ad2openldap/ Jan 19 10:00:30 - INFO - Connecting to LDAP server ldap:// 127.0.0.1/dc=localdomain,dc=xyz as cn=admin,dc=localdomain,dc=xyz Jan 19 10:00:30 - INFO - Connecting to LDAP server ldap:// ldap.domain.xyz/dc=localdomain,dc=xyz as [email protected] Jan 19 10:00:31 - INFO - Starting sync for adUser Jan 19 10:00:31 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:31 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:31 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:31 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:31 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:32 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:32 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:32 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:32 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:32 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:32 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:32 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:32 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:32 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:32 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:32 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:33 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:33 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:33 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:33 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:33 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:33 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:33 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:33 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:33 - ERROR - Synchronization aborted because no source object has been found ! Jan 19 10:00:33 - ERROR - All entries: 25, to modify entries: 0, successfully modified entries: 0, errors: 25 Jan 19 10:00:33 - INFO - Starting clean for adUser Jan 19 10:00:33 - ERROR - Empty or non existant destination (no IDs found) Any help would be appreciated *Best regards,* *Thang Duong Bao* Mobile: (+84) 918 753 062
_______________________________________________________________ Ldap Synchronization Connector (LSC) - http://lsc-project.org lsc-users mailing list [email protected] http://lists.lsc-project.org/listinfo/lsc-users

