OTRS 6.0.12 CE & ActiveDirectory: Sync mit Kundenverzeichnis funktioniert nicht

Hilfe zu OTRS Problemen aller Art
Post Reply
JensHamburg
Znuny newbie
Posts: 40
Joined: 31 Aug 2018, 20:27
Znuny Version: OTRS 6.0.26
Real Name: Jens

OTRS 6.0.12 CE & ActiveDirectory: Sync mit Kundenverzeichnis funktioniert nicht

Post by JensHamburg »

Hallo,

ich bekomme die Kopplung von OTRS 6.0.12 Community Edition und ActiveDirectory (WindowsServer 2012R2) nicht zum fliegen :(

Ich habe für meine Testumgebung einen OTRS-Host und jeweils ein ActiveDirectory für Agents und ein ActiveDirectory für Customer eingerichtet.
Die beiden Windows-Server sind identisch konfiguriert, aber nicht in derselben Domäne.
  1. Die Authentifizierung der Agents am Active Directory funktioniert einwandfrei.
  2. Die Synchronisation der Agents aus dem Active Directory funktioniert ebenfalls einwandfrei.
    -----------------------------------------------------------------------------------------------------------------
  3. Die Authentifizierung der Customer am Active Directory funktioniert einwandfrei, wenn ich lediglich authentifizieren lasse - aber als Repository die interne OTRS-Datenbank benutze.
  4. Die Synchronisation der Customer kriege ich jedoch einfach nicht zum fliegen. Stets erhalte ich beim Versuch des Logins die folgende Fehlermeldung:
    /var/log/messages wrote:Dec 10 20:03:08 otrs OTRS-CGI-20[3487]: [Error][Kernel::System::CustomerUser::LDAP::_Connect][Line:207]: First bind failed! 80090308: LdapErr: DSID-0C0903C5, comment: AcceptSecurityContext error, data 52e, v2580
    Dec 10 20:03:08 otrs OTRS-CGI-20[3487]: [Notice][Kernel::System::CustomerAuth::LDAP::Auth] CustomerUser: cust1 (CN=Cust1 Cust1,CN=Users,DC=customers,DC=department,DC=lab,DC=local) authentication ok (REMOTE_ADDR: 192.168.80.1).
    Dec 10 20:03:08 otrs OTRS-CGI-20[3487]: [Error][Kernel::System::CustomerUser::SetPreferences][Line:1157]: No such user 'cust1'!
Meine Defaults.pm sieht aus wie folgt:
# CustomerUser
# (customer user ldap backend and settings)
$Self->{CustomerUser} = {
Name => 'LDAP Backend',
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
# ldap host
Host => 'server.customers.department.lab.local',
# ldap base dn
BaseDN => 'CN=Users,DC=customers,DC=department,DC=lab,DC=local',
# search scope (one|sub)
SSCOPE => 'sub',
# The following is valid but would only be necessary if the
# anonymous user does NOT have permission to read from the LDAP tree
UserDN => 'CN=Jon Doe,CN=Users,DC=agents,DC=department,DC=lab,DC=local',
UserPw => 'ChangeMe',
# in case you want to add always one filter to each ldap query, use
# this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)'
AlwaysFilter => '(objectclass=user)',
# if the charset of your ldap server is iso-8859-1, use this:
# SourceCharset => 'iso-8859-1',
# die if backend can't work, e. g. can't connect to server
Die => 1,
# Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
Params => {
port => 389,
timeout => 120,
async => 0,
version => 3,
},
},
# # customer unique id
CustomerKey => 'sAMAccountName',
# # customer #
CustomerID => 'mail',
CustomerUserListFields => ['cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
# # show customer user and customer tickets in customer interface
CustomerUserExcludePrimaryCustomerID => 0,
# # add a ldap filter for valid users (expert setting)
# # CustomerUserValidFilter => '(!(description=gesperrt))',
# # admin can't change customer preferences
AdminSetPreferences => 0,
# # cache time to live in sec. - cache any ldap queries
# CacheTTL => 0,
Map => [
# # note: Login, Email and CustomerID needed!
# # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target, link class(es)
# [ 'UserTitle', Translatable('Title or salutation'), 'title', 1, 0, 'var', '', 1, undef, undef ],
[ 'UserFirstname', Translatable('Firstname'), 'givenname', 1, 1, 'var', '', 1, undef, undef ],
[ 'UserLastname', Translatable('Lastname'), 'sn', 1, 1, 'var', '', 1, undef, undef ],
[ 'UserLogin', Translatable('Username'), 'sAMAccountName', 1, 1, 'var', '', 1, undef, undef ],
[ 'UserEmail', Translatable('Email'), 'mail', 1, 1, 'var', '', 1, undef, undef ],
[ 'UserCustomerID', Translatable('CustomerID'), 'mail', 0, 1, 'var', '', 1, undef, undef ],
# [ 'UserCustomerIDs', Translatable('CustomerIDs'), 'second_customer_ids', 1, 0, 'var', '', 1, undef, undef ],
# [ 'UserPhone', Translatable('Phone'), 'telephonenumber', 1, 0, 'var', '', 1, undef, undef ],
# [ 'UserAddress', Translatable('Address'), 'postaladdress', 1, 0, 'var', '', 1, undef, undef ],
# [ 'UserComment', Translatable('Comment'), 'description', 1, 0, 'var', '', 1, undef, undef ],

# this is needed, if "SMIME::FetchFromCustomer" is active
# [ 'UserSMIMECertificate', 'SMIMECertificate', 'userSMIMECertificate', 0, 1, 'var', '', 1, undef, undef ],

# Dynamic field example
# [ 'DynamicField_Name_X', undef, 'Name_X', 0, 0, 'dynamic_field', undef, 0, undef, undef ],
],
};
Hat jemand eine Idee, wo der Fehler liegt?

Gruß
Jens
JensHamburg
Znuny newbie
Posts: 40
Joined: 31 Aug 2018, 20:27
Znuny Version: OTRS 6.0.26
Real Name: Jens

Re: OTRS 6.0.12 CE & ActiveDirectory: Sync mit Kundenverzeichnis funktioniert nicht

Post by JensHamburg »

Ergänzung:
Dienstleister sind zur Unterstützung willkommen. Kontaktaufnahme ggf. via PN.

Gruß
Jens
root
Administrator
Posts: 3934
Joined: 18 Dec 2007, 12:23
Znuny Version: Znuny and Znuny LTS
Real Name: Roy Kaldung
Company: Znuny
Contact:

Re: OTRS 6.0.12 CE & ActiveDirectory: Sync mit Kundenverzeichnis funktioniert nicht

Post by root »

Hallo Jens,

also zum einen, bitte niemals, wirklich niemals, die Defaults.pm ändern. Kopiere den für Dich relevanten Teil in Deine Config.pm und passe Ihn dort an. Das macht Patchlevel-Updates schmerzfreier ;-)

Zu Deinem Punkt 4: Lt. Errorlog (data 52e) ist der Benutzername/das Kennwort des Binduser falsch/abgelaufen/gesperrt. Der wird aber benötigt. Mehr kann ich so aktuell nicht an Deinem Post sehen, mir fehlt das der komplette Customer::AuthModule Bereich um mehr zu sagen.

- Roy
Znuny and Znuny LTS running on CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

Use a test system - always.

Do you need professional services? Check out https://www.znuny.com/

Do you want to contribute or want to know where it goes ?
JensHamburg
Znuny newbie
Posts: 40
Joined: 31 Aug 2018, 20:27
Znuny Version: OTRS 6.0.26
Real Name: Jens

Re: OTRS 6.0.12 CE & ActiveDirectory: Sync mit Kundenverzeichnis funktioniert nicht

Post by JensHamburg »

Hallo Roy,

vielen Dank für Deinen Tip mit der Config.pm. Ich hatte das zwar schon einmal gelesen, aber ignoriert und wieder vergessen.
Ich habe dann gestern Abend die Änderungen in die Config.pm übertragen und die zuvor gesicherte Defaults.pm wiederhergestellt. Und dabei muss ich irgendeinen Tippfehler oder was weiß ich was geändert haben - denn nun funktioniert's :)
Verstehe ich das recht, dass man die Kundenbenutzer, im Gegensatz zu den Agents, nicht mit der lokalen Datenbank synchonisieren kann?

Als nächstes werde ich mal schauen, wie man die Firmen selbst aus dem Verzeichnis ziehen kann. Im Handbuch steht dazu zwar nichts drin, aber in der Defaults.pm. Sollte also irgendwie ebenfalls mit LDAP möglich sein - oder?

Gruß
Jens
root
Administrator
Posts: 3934
Joined: 18 Dec 2007, 12:23
Znuny Version: Znuny and Znuny LTS
Real Name: Roy Kaldung
Company: Znuny
Contact:

Re: OTRS 6.0.12 CE & ActiveDirectory: Sync mit Kundenverzeichnis funktioniert nicht

Post by root »

Hallo Jens,

Kundenbenutzer kann man syncen, es gibt da ein Script scripts/contrib/otrs.SyncLDAP2DB.pl
Das würde ich aber nur nutzen wenn der/die DCs nicht gu erreichbar sind. Ansonsten ist die LDAP Anbindung schnell und verlässlich nach meiner Erfahrung.

Ein LDAP-Backend für CustomerCompany gibt es nicht in der Community Edition.

- Roy
Znuny and Znuny LTS running on CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

Use a test system - always.

Do you need professional services? Check out https://www.znuny.com/

Do you want to contribute or want to know where it goes ?
Post Reply