OTRS5: Probleme ConnectAD / LDAP - OTRS Rollen durch LDAP-Gruppen befüllen

Hilfe zu Znuny Problemen aller Art
Locked
pyj
Znuny newbie
Posts: 27
Joined: 13 Jun 2013, 10:17
Znuny Version: 5.0.x

OTRS5: Probleme ConnectAD / LDAP - OTRS Rollen durch LDAP-Gruppen befüllen

Post by pyj »

Hallo zusammen,

seit mehreren Tagen versuche ich hier ein Problem zu lösen...hab mich in diesem Forum und in anderen Quellen durch etliche Artikel gelesen - finde aber keine wirklich passende und funktionierende Lösung :(
Daher hier noch ein Versuch mit dem breiten Wissen des Forums eventuell was zu finden :)

Meine Ausgangssituation:
Altsystem: OTRS3x, IIS, ConnectAD als Erweiterung (https://github.com/rkaldung/ConnectAD)
NeuSystem: OTRS5x, Apache2 (Debian)

Wir dachten uns "ConnectAD" einfach weiterhin zu verwenden, aufgrund von verschachtelten NT-Gruppen.
Unser Aufbau bisher (Rechte):
ActiveDirectory-User (NT-User) -> AD-Gruppe (NT-Gruppe) -> AD-Rolle (NT-Gruppe) -> *Zuweisung über ConnectAD* -> OTRS-Rolle -> OTRS-Gruppe -> OTRS-Queue

Leider verweigert ConnectAD die Installation unter OTRS5....kein Problem, Framework Info angepasst, Modul installiert.
Nach der Installation lädt Apache allerdings nicht mehr korrekt, im Fehlerlog bekomme ich folgenden Eintrag:
[Wed Dec 23 08:56:03.942219 2015] [:error] [pid 34123] [Wed Dec 23 08:56:03 2015] -e: No LogObject! at /opt/otrs//Kernel/System/Auth/Sync/ConnectAD.pm line 34.\n

Hier ist der Punkt wo wir nicht mehr weiterkommen :(
Ja, wir wissen das ConnectAD nicht mehr weiterentwickelt wird und das es eigentlich nicht für OTRS5 gedacht ist.

Allerdings haben wir sonst keine funktionierende Möglichkeit gefunden, wie wir das oben stehende Rechteschema aufrecht erhalten können - das Konstrukt von NT-Gruppen / NT-Rollen (siehe oben) können wir aus betrieblichen Vorgaben nicht umgehen...

Hat jemand einen Tipp wie das ohne ConnectAD funktionieren kann? Ich hab bereits diverse Ansätze versucht...aber nie das passende gefunden...
Bei Bedarf an Auszüge Config.pm etc. bitte kurz sagen :)

Danke & Gruß
pyj
OTRS 5.0.x
Debian (VM)
MySQL Server
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: OTRS5: Probleme ConnectAD / LDAP - OTRS Rollen durch LDAP-Gruppen befüllen

Post by jojo »

Hallo,

Module früherer Versionen funktionieren so gut wie nie bei neuen Versionen, da sich der Code nunmal ändert.

Verschachtelte Gruppen lassen sich über einen entsprechenden LDAP Search Parameter nutzen, siehe dazu auch den entsprechenden Eintrag im MSDN: https://msdn.microsoft.com/en-us/librar ... 85%29.aspx
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
pyj
Znuny newbie
Posts: 27
Joined: 13 Jun 2013, 10:17
Znuny Version: 5.0.x

Re: OTRS5: Probleme ConnectAD / LDAP - OTRS Rollen durch LDAP-Gruppen befüllen

Post by pyj »

Hallo jojo,

Danke für deine Antwort - auf den Link bin ich bereits mehrfach gekommen...aber ich habe es bei mir trotzdem nicht geschafft umzusetzen...

Hier mal ein Beispiel von mir:

Code: Select all

        # --------------------------------------------------- #
        # --------------------------------------------------- #
        # LDAP Settings Agent Sync after Auth
        # --------------------------------------------------- #
        $Self->{AuthSyncModule} = 'Kernel::System::Auth::Sync::LDAP';
        $Self->{'AuthSyncModule::LDAP::Host'} = 'xxxxxxx';
        $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=xxxx,dc=xxxx';
        $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountname';
        $Self->{'AuthSyncModule::LDAP::Params'} = {
                port    => xxxx,
                timeout => 120,
                async   => 0,
                version => 3,
        };

        $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
                # DB -> LDAP
                UserFirstname => 'givenName',
                UserLastname => 'sn',
                UserEmail     => 'mail',
        };


        $Self->{'AuthSyncModule::LDAP::Charset'} = 'iso-8859-1';

        $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'cn=xxxx,ou=xxxx,ou=xxxx,ou=xxxx,dc=xxxx,dc=xxxx,dc=xxxx';
        $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'xxxxxxxx';
        $Self->{'AuthSyncModule::LDAP::AccessAttr'} = 'member';
        $Self->{'AuthSyncModule::LDAP::UserAttr'} = 'DN';

        $Self->{'AuthSyncModule::LDAP::AlwaysFilter'} = '(&(objectCategory=user)(memberof:1.2.840.113556.1.4.1941:=CN=xxxx,OU=xxxx,OU=xxxx,OU=xxxx,DC=xxxx,DC=xxxx,DC=xxxx))';

        $Self->{'AuthSyncModule::LDAP::UserSyncRolesDefinition'} = {
        'CN=xxxx,OU=xxxx,OU=xxxx,OU=xxxx,DC=xxxx,DC=xxxx,DC=xxxx' => {
                'xxxx_xxxx_xxxx' => 1,
                },
        };
Noch eine Idee was ich falsch mache?

Danke & Gruß
pyj
OTRS 5.0.x
Debian (VM)
MySQL Server
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: OTRS5: Probleme ConnectAD / LDAP - OTRS Rollen durch LDAP-Gruppen befüllen

Post by jojo »

eigentlich müsstest Du den Filter in den Auth Part packen und nicht in den Sync
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
pyj
Znuny newbie
Posts: 27
Joined: 13 Jun 2013, 10:17
Znuny Version: 5.0.x

Re: OTRS5: Probleme ConnectAD / LDAP - OTRS Rollen durch LDAP-Gruppen befüllen

Post by pyj »

OK...hab die Zeile mal nach oben geschoben und aus "AuthSyncModul" "AuthModul" gemacht....keine Änderung....verschachteltet Gruppen gehen nicht - direkte Gruppen ohne Problemen... :(
Noch ne Idee?
OTRS 5.0.x
Debian (VM)
MySQL Server
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: OTRS5: Probleme ConnectAD / LDAP - OTRS Rollen durch LDAP-Gruppen befüllen

Post by jojo »

$Self->{'AuthModule::LDAP::AlwaysFilter'} = '(&(objectCategory=user
(memberof:1.2.840.113556.1.4.1941:=CN=OTRS_USERS,CN=Users,DC=otrs,DC=com)))';

Gibt Dir alle User aus der Gruppe CN=OTRS_USERS,CN=Users,DC=otrs,DC=com oder von Untergruppen
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
pyj
Znuny newbie
Posts: 27
Joined: 13 Jun 2013, 10:17
Znuny Version: 5.0.x

Re: OTRS5: Probleme ConnectAD / LDAP - OTRS Rollen durch LDAP-Gruppen befüllen

Post by pyj »

Meins:
$Self->{'AuthModule::LDAP::AlwaysFilter'} = '(&(objectCategory=user)(memberof:1.2.840.113556.1.4.1941:=CN=xxxx,OU=xxxx,OU=xxxx,OU=xxxx,DC=xxxx,DC=xxxx,DC=xxxx))';

Deins:
$Self->{'AuthModule::LDAP::AlwaysFilter'} = '(&(objectCategory=user(memberof:1.2.840.113556.1.4.1941:=CN=OTRS_USERS,CN=Users,DC=otrs,DC=com)))';

Wenn ich die Klammern wie in deinem Beispiel setze (nach "user" weg und am Ende dazu), dann kann ich mich gar nicht mehr einloggen ("Passwort oder User falsch")...
OTRS 5.0.x
Debian (VM)
MySQL Server
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: OTRS5: Probleme ConnectAD / LDAP - OTRS Rollen durch LDAP-Gruppen befüllen

Post by jojo »

ja, Deine Klammern machen mehr Sinn ;-)
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
pyj
Znuny newbie
Posts: 27
Joined: 13 Jun 2013, 10:17
Znuny Version: 5.0.x

Re: OTRS5: Probleme ConnectAD / LDAP - OTRS Rollen durch LDAP-Gruppen befüllen

Post by pyj »

:) :)
Aber leider komme ich auch so nicht weiter :(

Der Filter funktioniert ansich....also wenn ich die Gruppe richtig schreibe kann ich mich mit einem User anmelden.
Allerdings wird diesem User dann in OTRS keine Rolle zugewiesen - aus meiner Sicht habe ich also kein Problem mit der eigentlichen Verschachtelung, sondern mit der Verknüpfung von Gruppe (NT-Gruppe) zu Rolle (OTRS-Rolle)...
(Hinweis: Wenn ich die Gruppe im Filter absichtlich falsch schreibe, kann ich mich nicht mehr einloggen)

Hast du noch ne Idee wo ich "schrauben" kann? :?

Hier nochmal meine komplette Conf für Auth und AuthSync:

Code: Select all

       
        # --------------------------------------------------- #
        # --------------------------------------------------- #
        # LDAP Settings Agent Auth
        # --------------------------------------------------- #
        $Self->{AuthModule} = 'Kernel::System::Auth::LDAP';
        $Self->{'AuthModule::LDAP::Host'} = 'xxxx';
        $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=xxxx,dc=xxxx';
        $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountname';
        $Self->{'AuthModule::LDAP::Params'} = {
                port    => xxxx,
                timeout => 120,
                async   => 0,
                version => 3,
        };
        $Self->{'AuthModule::LDAP::Charset'} = 'iso-8859-1';
        $Self->{'AuthModule::LDAP::SearchUserDN'} = 'cn=xxxx,ou=xxxx,ou=xxxx,ou=xxxx,dc=xxxx,dc=xxxx,dc=xxxx';
        $Self->{'AuthModule::LDAP::SearchUserPw'} = 'xxxx';
        $Self->{'AuthModule::LDAP::AlwaysFilter'} = '(&(objectCategory=user)(memberof:1.2.840.113556.1.4.1941:=CN=xxxx,OU=xxxx,OU=xxxx,OU=xxxx,DC=xxxx,DC=xxxx,DC=xxxx))';
		# --------------------------------------------------- #
        # --------------------------------------------------- #


		
        # --------------------------------------------------- #
        # --------------------------------------------------- #
        # LDAP Settings Agent Sync after Auth
        # --------------------------------------------------- #
        $Self->{AuthSyncModule} = 'Kernel::System::Auth::Sync::LDAP';
        $Self->{'AuthSyncModule::LDAP::Host'} = 'xxxx';
        $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=xxxx,dc=xxxx';
        $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountname';
        $Self->{'AuthSyncModule::LDAP::Params'} = {
                port    => xxxx,
                timeout => 120,
                async   => 0,
                version => 3,
        };

        $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
                # DB -> LDAP
                UserFirstname => 'givenName',
                UserLastname => 'sn',
                UserEmail     => 'mail',
        };

        $Self->{'AuthSyncModule::LDAP::Charset'} = 'iso-8859-1';
        $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'cn=xxxx,ou=xxxx,ou=xxxx,ou=xxxx,dc=xxxx,dc=xxxx,dc=xxxx';
        $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'xxxx';
        $Self->{'AuthSyncModule::LDAP::AccessAttr'} = 'member';
        $Self->{'AuthSyncModule::LDAP::UserAttr'} = 'DN';
				
		$Self->{'AuthSyncModule::LDAP::UserSyncRolesDefinition'} = {
        'CN=xxxx,OU=xxxx,OU=xxxx,OU=xxxx,DC=xxxx,DC=xxxx,DC=xxxx' => {
                'otrs_role_xxxx' => 1,
                },
        };
        # --------------------------------------------------- #
        # --------------------------------------------------- #
        
OTRS 5.0.x
Debian (VM)
MySQL Server
pyj
Znuny newbie
Posts: 27
Joined: 13 Jun 2013, 10:17
Znuny Version: 5.0.x

Re: OTRS5: Probleme ConnectAD / LDAP - OTRS Rollen durch LDAP-Gruppen befüllen

Post by pyj »

Moin,

noch einer eine Idee zu dieser Thematik?
Gruppe wird erkannt...aber kein Rechte zugeteilt (siehe mein letzter Beitrag von Mittwoch..)

Danke & Gruß
pyj
OTRS 5.0.x
Debian (VM)
MySQL Server
Locked