Authentifizierungsmechanismen in OTRS: local und Microsoft AD
Hallo OTRS-Liste,
ich habe mir gerade die Appliance heruntergeladen und diese (in der aktuellen Version) installiert. Ich bin also Neuling im Bereich PRTG, so please be polite :-D Ich habe vor, folgendes zu Realisieren:
1) lokale Anmeldung die lokale Anmeldung ist ja mit der Installation installiert worden. hier wollte ich mir einfach einen 2. Benutzer lokal anlegen, welcher die selben Rechte hat, wie der bei der Installation erstellte Benutzer. Ist kein Problem, ist gelöst.
2) Anbindung eines Microsoft AD's für die "Kunden", basierend auf einer Gruppenmitgliedschaft, z.B. PRTG_Kunden
3) Anbindung eines weiteren Microsoft AD's für die "Agents", basierend auf einer anderen Gruppenmitgliedschaft (z.B. PRTG_Agenten), welche sich im SELBEN Active Directory wie die Kunden befinden
4) Alternativ, Anbindung eines weiteren AD's für Kunde 2.
Mir ist wichtig, das die Werte aus dem AD (z.B. für Vorname, Nachname, Email, Telefonnummer,usw.) mit Synchronisiert werden, so das ich die Kundenaccounts nicht 2 mal Pflegen muss.
Auch wäre mir wichtig, Die Queues aufgrund einer weiteren Gruppenzugehörigkeit auszuwählen. Ein Kunde hat also generell immer die Sicherheitsgruppe PRTG_Kunden und eine weitere, welche bestimmt in welcher Queue das Ticket erscheint, z.B. Queue_Buchhaltung.
Was funktioniert: lokale Anmeldung hat funktioniert Anbindung eines AD's für die Agenten hat funktioniert.
Was funktioniert nicht? Nach der Anbindung eines AD's für die Agenten konnte ich mich jedoch mit den lokalen Accounts nicht mehr anmelden.
Die Anbindung der Kunden und die Zuordnung als "Kunde" basierend auf der Gruppenmitgliedschaft ist mir nicht klar. Hat da jemand eine Beispielkonfiguration für mich?
Meine Config.PM-Datei sieht zur Zeit so aus: # This is an example configuration for using an MS AD backend $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP'; $Self->{'AuthModule::LDAP::Host'} = 'domaincontroller01.prtglab.local'; $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=prtglab,dc=local'; $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
# Check if the user is allowed to auth in a posixGroup # (e. g. user needs to be in a group OTRS_Agents to use otrs) $Self->{'AuthModule::LDAP::GroupDN'} = 'CN=SG_OTRS,OU=ZZ_Global Security Groups,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthModule::LDAP::AccessAttr'} = 'member'; $Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
# Bind credentials to log into AD $Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=ldapread,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthModule::LDAP::SearchUserPw'} = 'myPassword';
# in case you want to add always one filter to each ldap query, use # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)' $Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
# in case you want to add a suffix to each login name, then # you can use this option. e. g. user just want to use user but # in your ldap directory exists user@domain. #$Self->{'AuthModule::LDAP::UserSuffix'} = '';
# Net::LDAP new params (if needed - for more info see perldoc Net::LDAP) $Self->{'AuthModule::LDAP::Params'} = { port => 389, timeout => 120, async => 0, version => 3, };
# Now sync data with OTRS DB $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP'; $Self->{'AuthSyncModule::LDAP::Host'} = 'domaincontroller01.prtglab.local'; $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=prtglab, dc=local'; $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName'; $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=ldapread,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'myPassword';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = { # DB -> LDAP UserFirstname => 'givenName', UserLastname => 'sn', UserEmail => 'mail', };
# AuthSyncModule::LDAP::UserSyncInitialGroups # (sync following group with rw permission after initial create of first agent # login) $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [ 'users', ];
Für die Anbindung eines weiteren AD's müsste ich doch den gesamten Block noch mal haben, richtig? Wie unterschiedet OTRS denn, ob die AD-Anbindung für die Agents oder für die Kunden ist? hier: ? $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
Die Synchronisation der AD-Felder bzw. die Zuordnung passiert hier? $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = { # DB -> LDAP UserFirstname => 'givenName', UserLastname => 'sn', UserEmail => 'mail',
Vielen Dank
Stefan Müller
... < Was funktioniert nicht< Nach der Anbindung eines AD's für die Agenten konnte ich mich jedoch mit den lokalen Accounts nicht mehr anmelden. >
Es können sich nur noch die Benutzer aus dem AD anmelden. Da die lokal angelegten Accounts im AD nicht existieren, funktioniert die Anmeldung natürlich nicht mehr.
Du musst ein zweites Auth-Modul für die OTRS-Datenbank einbauen. Dabei müssen weitere Module durchnummeriert werden, also z.B.: $Self->{'AuthModule1'} = ... $Self->{'AuthModule2'} =
Auszug aus Admin-Manual Authentication backends for Agents
DB (Default) The backend to authenticate agents which is used by default is the OTRS database. Agents can be added and edited via the agent management interface in the Admin page (see Example 11-6 below).
Example 4.11. Authenticate agents against a DB backend $Self->{'AuthModule1'} = 'Kernel::System::Auth::DB';
Für die Anbindung der Kunden: Siehe: OTRS Admin-Manual Abschnitt: Authentication backends for Customers
LDAP If you have an LDAP directory with all your customer data, you can use the LDAP module to authenticate your customers to OTRS (see Example 11-11 below). Because this module has only read-access to the LDAP backend, it is not possible to edit the customer data via the OTRS web interface.
Example 4.16. Customer user authentication against an LDAP backend # This is an example configuration for an LDAP auth. backend. # (make sure Net::LDAP is installed!) $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP'; ... Kannst du aus der Datei Defaults.pm Verzeichnis: /otrs/Kernel/Config rauskopieren und anpassen.
Gruß
Sepp
OTRS Testing otrs.testing2015@gmail.com 29.01.2015 07:39 >>>
Hallo OTRS-Liste,
ich habe mir gerade die Appliance heruntergeladen und diese (in der aktuellen Version) installiert. Ich bin also Neuling im Bereich PRTG, so please be polite :-D Ich habe vor, folgendes zu Realisieren:
1) lokale Anmeldung die lokale Anmeldung ist ja mit der Installation installiert worden. hier wollte ich mir einfach einen 2. Benutzer lokal anlegen, welcher die selben Rechte hat, wie der bei der Installation erstellte Benutzer. Ist kein Problem, ist gelöst.
2) Anbindung eines Microsoft AD's für die "Kunden", basierend auf einer Gruppenmitgliedschaft, z.B. PRTG_Kunden
3) Anbindung eines weiteren Microsoft AD's für die "Agents", basierend auf einer anderen Gruppenmitgliedschaft (z.B. PRTG_Agenten), welche sich im SELBEN Active Directory wie die Kunden befinden
4) Alternativ, Anbindung eines weiteren AD's für Kunde 2.
Mir ist wichtig, das die Werte aus dem AD (z.B. für Vorname, Nachname, Email, Telefonnummer,usw.) mit Synchronisiert werden, so das ich die Kundenaccounts nicht 2 mal Pflegen muss.
Auch wäre mir wichtig, Die Queues aufgrund einer weiteren Gruppenzugehörigkeit auszuwählen. Ein Kunde hat also generell immer die Sicherheitsgruppe PRTG_Kunden und eine weitere, welche bestimmt in welcher Queue das Ticket erscheint, z.B. Queue_Buchhaltung.
Was funktioniert: lokale Anmeldung hat funktioniert Anbindung eines AD's für die Agenten hat funktioniert.
Was funktioniert nicht? Nach der Anbindung eines AD's für die Agenten konnte ich mich jedoch mit den lokalen Accounts nicht mehr anmelden.
Die Anbindung der Kunden und die Zuordnung als "Kunde" basierend auf der Gruppenmitgliedschaft ist mir nicht klar. Hat da jemand eine Beispielkonfiguration für mich?
Meine Config.PM-Datei sieht zur Zeit so aus: # This is an example configuration for using an MS AD backend $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP'; $Self->{'AuthModule::LDAP::Host'} = 'domaincontroller01.prtglab.local'; $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=prtglab,dc=local'; $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
# Check if the user is allowed to auth in a posixGroup # (e. g. user needs to be in a group OTRS_Agents to use otrs) $Self->{'AuthModule::LDAP::GroupDN'} = 'CN=SG_OTRS,OU=ZZ_Global Security Groups,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthModule::LDAP::AccessAttr'} = 'member'; $Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
# Bind credentials to log into AD $Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=ldapread,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthModule::LDAP::SearchUserPw'} = 'myPassword';
# in case you want to add always one filter to each ldap query, use # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)' $Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
# in case you want to add a suffix to each login name, then # you can use this option. e. g. user just want to use user but # in your ldap directory exists user@domain. #$Self->{'AuthModule::LDAP::UserSuffix'} = '';
# Net::LDAP new params (if needed - for more info see perldoc Net::LDAP) $Self->{'AuthModule::LDAP::Params'} = { port => 389, timeout => 120, async => 0, version => 3, };
# Now sync data with OTRS DB $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP'; $Self->{'AuthSyncModule::LDAP::Host'} = 'domaincontroller01.prtglab.local'; $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=prtglab, dc=local'; $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName'; $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=ldapread,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'myPassword';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = { # DB -> LDAP UserFirstname => 'givenName', UserLastname => 'sn', UserEmail => 'mail', };
# AuthSyncModule::LDAP::UserSyncInitialGroups # (sync following group with rw permission after initial create of first agent # login) $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [ 'users', ];
Für die Anbindung eines weiteren AD's müsste ich doch den gesamten Block noch mal haben, richtig? Wie unterschiedet OTRS denn, ob die AD-Anbindung für die Agents oder für die Kunden ist? hier: ? $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
Die Synchronisation der AD-Felder bzw. die Zuordnung passiert hier? $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = { # DB -> LDAP UserFirstname => 'givenName', UserLastname => 'sn', UserEmail => 'mail',
Vielen Dank
Stefan Müller
Hallo Sepp, hallo Liste,
vielen Dank. Ich habe jetzt die Konfiguration angepasst. Inzwischen ist es Möglich, sich mit einem AD-Account als Agent anzumelden. Auch ist es möglich, sich als Systembenutzer (OTRS Benutzer) aus der OTRS-eigenen Datenbank anzumelden. Nicht möglich ist das Anmelden als Kunde. Hier kommt:
Authentication succeeded, but no customer record is found in the customer backend. Please contact your administrator.
Meine Frage: wo bekomme ich erweiterte Fehlermeldungen? Eigentlich sollten die Logfiles unter /opt/otrs/var/log sein (otrs.log), hier gibt es aber diese Logdatei nicht. Hier gibt es nur SchedulerOut-Logs sowie TicketCounter.log sowie SchedulerErr.log
meine Config.pm:
[CODE] # -- # Kernel/Config.pm - Config file for OTRS kernel # Copyright (C) 2001-2015 OTRS AG, http://otrs.com/ # -- # This software comes with ABSOLUTELY NO WARRANTY. For details, see # the enclosed file COPYING for license information (AGPL). If you # did not receive this file, see http://www.gnu.org/licenses/agpl.txt. # -- # Note: # # -->> Most OTRS configuration should be done via the OTRS web interface # and the SysConfig. Only for some configuration, such as database # credentials and customer data source changes, you should edit this # file. For changes do customer data sources you can copy the definitions # from Kernel/Config/Defaults.pm and paste them in this file. # Config.pm will not be overwritten when updating OTRS. # --
package Kernel::Config;
use strict; use warnings; use utf8;
sub Load { my $Self = shift;
# ---------------------------------------------------- # # database settings # # ---------------------------------------------------- #
# The database host $Self->{'DatabaseHost'} = '127.0.0.1';
# The database name $Self->{'Database'} = "otrs_main_db";
# The database user $Self->{'DatabaseUser'} = "otrsdbuser";
# The password of database user. You also can use bin/ otrs.CryptPassword.pl # for crypted passwords $Self->{'DatabasePw'} = '7#qirGzP!t!2kR$Nn2vu';
# The database DSN for MySQL ==> more: "perldoc DBD::mysql" $Self->{'DatabaseDSN'} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost}";
# The database DSN for PostgreSQL ==> more: "perldoc DBD::Pg" # if you want to use a local socket connection # $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};"; # if you want to use a TCP/IP connection # $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};host=$Self->{DatabaseHost};";
# The database DSN for Microsoft SQL Server - only supported if OTRS is # installed on Windows as well # $Self->{DatabaseDSN} = "DBI:ODBC:driver={SQL Server};Database=$Self->{Database};Server=$Self->{DatabaseHost},1433";
# The database DSN for Oracle ==> more: "perldoc DBD::oracle" # $Self->{DatabaseDSN} = "DBI:Oracle://$Self->{DatabaseHost}:1521/$Self->{Database}"; # # $ENV{ORACLE_HOME} = '/path/to/your/oracle'; # $ENV{NLS_DATE_FORMAT} = 'YYYY-MM-DD HH24:MI:SS'; # $ENV{NLS_LANG} = 'AMERICAN_AMERICA.AL32UTF8';
# ---------------------------------------------------- # # fs root directory # ---------------------------------------------------- # $Self->{Home} = '/opt/otrs';
# ---------------------------------------------------- # # insert your own config settings "here" # # config settings taken from Kernel/Config/Defaults.pm # # ---------------------------------------------------- # # $Self->{SessionUseCookie} = 0; # $Self->{CheckMXRecord} = 0; # Authenticate Users against local OTRS Database # Just for Management: If LDAP Auth fails, we have a # emergency-user database $Self->{'AuthModule1'} = 'Kernel::System::Auth::DB'; $Self->{'AuthModule::DB::CryptType1'} = 'crypt';
############################################################################## ### Diese Konfigration regelt den Zugriff der Agents aus dem AD ##### ############################################################################## # This is an example configuration for using an MS AD backend $Self->{'AuthModule2'} = 'Kernel::System::Auth::LDAP'; $Self->{'AuthModule::LDAP::Host2'} = 'prtglabdc01.prtglab.local'; $Self->{'AuthModule::LDAP::BaseDN2'} = 'dc=prtglab,dc=local'; $Self->{'AuthModule::LDAP::UID2'} = 'sAMAccountName';
# Check if the user is allowed to auth in a posixGroup # (e. g. user needs to be in a group OTRS_Agents to use otrs) $Self->{'AuthModule::LDAP::GroupDN2'} = 'CN=SG_OTRS_AGENTS,OU=ZZ_Global Security Groups,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthModule::LDAP::AccessAttr2'} = 'member'; $Self->{'AuthModule::LDAP::UserAttr2'} = 'DN';
# Bind credentials to log into AD $Self->{'AuthModule::LDAP::SearchUserDN2'} = 'CN=Systemldap,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthModule::LDAP::SearchUserPw2'} = 'MyPassword';
# in case you want to add always one filter to each ldap query, use # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)' $Self->{'AuthModule::LDAP::AlwaysFilter2'} = '';
# in case you want to add a suffix to each login name, then # you can use this option. e. g. user just want to use user but # in your ldap directory exists user@domain. #$Self->{'AuthModule::LDAP::UserSuffix2'} = '';
# Net::LDAP new params (if needed - for more info see perldoc Net::LDAP) $Self->{'AuthModule::LDAP::Params2'} = { port => 389, timeout => 120, async => 0, version => 3, };
# Now sync data with OTRS DB $Self->{'AuthSyncModule2'} = 'Kernel::System::Auth::Sync::LDAP'; $Self->{'AuthSyncModule::LDAP::Host2'} = 'prtglabdc01.prtglab.local'; $Self->{'AuthSyncModule::LDAP::BaseDN2'} = 'dc=prtglab, dc=local'; $Self->{'AuthSyncModule::LDAP::UID2'} = 'sAMAccountName'; $Self->{'AuthSyncModule::LDAP::SearchUserDN2'} = 'CN=Systemldap,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthSyncModule::LDAP::SearchUserPw2'} = 'MyPassword';
$Self->{'AuthSyncModule::LDAP::UserSyncMap2'} = { # DB -> LDAP UserFirstname => 'givenName', UserLastname => 'sn', UserEmail => 'mail', };
# AuthSyncModule::LDAP::UserSyncInitialGroups # (sync following group with rw permission after initial create of first agent # login) $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups2'} = [ 'users', ]; ############################################################################## #### Ende Konfiguration Agent-AD-Anbindung ##### ############################################################################## ################################################################################################################################ #------------------------------------------------------------------------------------------------------------------------------# # Customer # #------------------------------------------------------------------------------------------------------------------------------# $Self->{'Customer::AuthModule1'} = 'Kernel::System::CustomerAuth::LDAP'; $Self->{'Customer::AuthModule::LDAP::Host1'} = 'prtglabdc01.prtglab.local'; $Self->{'Customer::AuthModule::LDAP::BaseDN1'} ='dc=prtglab, dc=local'; $Self->{'Customer::AuthModule::LDAP::UID1'} = 'sAMAccountName'; $Self->{'Customer::AuthModule::LDAP::GroupDN1'} = 'CN=SG_OTRS_CUSTOMER,OU=ZZ_Global Security Groups,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'Customer::AuthModule::LDAP::AccessAttr1'} = 'member'; $Self->{'Customer::AuthModule::LDAP::SearchUserDN1'} = 'CN=Systemldap,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'Customer::AuthModule::LDAP::SearchUserPw1'} = 'MyPassword'; $Self->{'Customer::AuthModule::LDAP::Params1'} = { port => 389, timeout => 120, async => 0, version => 3, }; #------------------------------------------------------------------------------------------------------------------------------# # LDAP System Users # #------------------------------------------------------------------------------------------------------------------------------# $Self->{'AuthModule1'} = 'Kernel::System::Auth::LDAP'; $Self->{'AuthModule::LDAP::Host1'} = 'prtglabdc01.prtglab.local'; $Self->{'AuthModule::LDAP::BaseDN1'} = 'dc=prtglab, dc=local'; $Self->{'AuthModule::LDAP::UID1'} = 'sAMAccountName'; $Self->{'AuthModule::LDAP::SearchUserDN1'} = 'CN=Systemldap,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthModule::LDAP::SearchUserPw1'} = 'MyPassword'; $Self->{'AuthModule::LDAP::Params1'} = { 'async' => '0', 'timeout' => '120', 'version' => '3', 'port' => '389' };
$Self->{'AuthModule::LDAP::Die1'} = 1; #------------------------------------------------------------------------------------------------------------------------------# # UserSyncLDAPMap # #------------------------------------------------------------------------------------------------------------------------------#
$Self->{'UserSyncLDAPMap1'} = { 'UserEmail' => 'mail', 'UserFirstname' => 'givenName', 'UserLastname' => 'sn', 'UserLogin' => 'sAMAccountName' };
$Self->{CustomerUser1} = { Name => 'prtglab', Module => 'Kernel::System::CustomerUser::LDAP', Params => { Host => 'prtglabdc01.prtglab.local', BaseDN => 'dc=prtglab, dc=local', SSCOPE => 'sub', UserDN => 'CN=Systemldap,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local', UserPw => 'MyPassword', AlwaysFilter => , }, CustomerKey => 'sAMAccountName', CustomerID => 'mail', CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'], CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'], CustomerUserSearchPrefix => , CustomerUserSearchSuffix => '*', CustomerUserPostMasterSearchFields => ['mail'], CustomerUserNameFields => ['givenname', 'sn'], CustomerUserSearchListLimit => 1000, AdminSetPreferences => 0,
Map => [ [ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ], [ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var' ], [ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var' ], [ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ], [ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ], [ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ], [ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ], ], };
#------------------------------------------------------------------------------------------------------------------------------# # Firma Ende # #------------------------------------------------------------------------------------------------------------------------------# ################################################################################################################################
# ---------------------------------------------------- #
# ---------------------------------------------------- # # data inserted by installer # # ---------------------------------------------------- # # $DIBI$
# ---------------------------------------------------- # # ---------------------------------------------------- # # # # end of your own config options!!! # # # # ---------------------------------------------------- # # ---------------------------------------------------- # }
# ---------------------------------------------------- # # needed system stuff (don't edit this) # # ---------------------------------------------------- #
use base qw(Kernel::Config::Defaults);
# -----------------------------------------------------#
1; [/CODE]
Gruss Stefan
Am 29. Januar 2015 um 10:29 schrieb Josef1 Penzkofer < Josef1.Penzkofer@rz.uni-regensburg.de>:
... < Was funktioniert nicht< Nach der Anbindung eines AD's für die Agenten konnte ich mich jedoch mit den lokalen Accounts nicht mehr anmelden. >
Es können sich nur noch die Benutzer aus dem AD anmelden. Da die lokal angelegten Accounts im AD nicht existieren, funktioniert die Anmeldung natürlich nicht mehr.
Du musst ein zweites Auth-Modul für die OTRS-Datenbank einbauen. Dabei müssen weitere Module durchnummeriert werden, also z.B.: $Self->{'AuthModule1'} = ... $Self->{'AuthModule2'} =
Auszug aus Admin-Manual Authentication backends for Agents
DB (Default) The backend to authenticate agents which is used by default is the OTRS database. Agents can be added and edited via the agent management interface in the Admin page (see Example 11-6 below).
Example 4.11. Authenticate agents against a DB backend $Self->{'AuthModule1'} = 'Kernel::System::Auth::DB';
Für die Anbindung der Kunden: Siehe: OTRS Admin-Manual Abschnitt: Authentication backends for Customers
LDAP If you have an LDAP directory with all your customer data, you can use the LDAP module to authenticate your customers to OTRS (see Example 11-11 below). Because this module has only read-access to the LDAP backend, it is not possible to edit the customer data via the OTRS web interface.
Example 4.16. Customer user authentication against an LDAP backend # This is an example configuration for an LDAP auth. backend. # (make sure Net::LDAP is installed!) $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP'; ... Kannst du aus der Datei Defaults.pm Verzeichnis: /otrs/Kernel/Config rauskopieren und anpassen.
Gruß
Sepp
OTRS Testing otrs.testing2015@gmail.com 29.01.2015 07:39 >>>
Hallo OTRS-Liste,
ich habe mir gerade die Appliance heruntergeladen und diese (in der aktuellen Version) installiert. Ich bin also Neuling im Bereich PRTG, so please be polite :-D Ich habe vor, folgendes zu Realisieren:
- lokale Anmeldung
die lokale Anmeldung ist ja mit der Installation installiert worden. hier wollte ich mir einfach einen 2. Benutzer lokal anlegen, welcher die selben Rechte hat, wie der bei der Installation erstellte Benutzer. Ist kein Problem, ist gelöst.
- Anbindung eines Microsoft AD's für die "Kunden", basierend auf einer
Gruppenmitgliedschaft, z.B. PRTG_Kunden
- Anbindung eines weiteren Microsoft AD's für die "Agents", basierend auf
einer anderen Gruppenmitgliedschaft (z.B. PRTG_Agenten), welche sich im SELBEN Active Directory wie die Kunden befinden
- Alternativ, Anbindung eines weiteren AD's für Kunde 2.
Mir ist wichtig, das die Werte aus dem AD (z.B. für Vorname, Nachname, Email, Telefonnummer,usw.) mit Synchronisiert werden, so das ich die Kundenaccounts nicht 2 mal Pflegen muss.
Auch wäre mir wichtig, Die Queues aufgrund einer weiteren Gruppenzugehörigkeit auszuwählen. Ein Kunde hat also generell immer die Sicherheitsgruppe PRTG_Kunden und eine weitere, welche bestimmt in welcher Queue das Ticket erscheint, z.B. Queue_Buchhaltung.
Was funktioniert: lokale Anmeldung hat funktioniert Anbindung eines AD's für die Agenten hat funktioniert.
Was funktioniert nicht? Nach der Anbindung eines AD's für die Agenten konnte ich mich jedoch mit den lokalen Accounts nicht mehr anmelden.
Die Anbindung der Kunden und die Zuordnung als "Kunde" basierend auf der Gruppenmitgliedschaft ist mir nicht klar. Hat da jemand eine Beispielkonfiguration für mich?
Meine Config.PM-Datei sieht zur Zeit so aus: # This is an example configuration for using an MS AD backend $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP'; $Self->{'AuthModule::LDAP::Host'} = 'domaincontroller01.prtglab.local'; $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=prtglab,dc=local'; $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
# Check if the user is allowed to auth in a posixGroup # (e. g. user needs to be in a group OTRS_Agents to use otrs) $Self->{'AuthModule::LDAP::GroupDN'} = 'CN=SG_OTRS,OU=ZZ_Global
Security Groups,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthModule::LDAP::AccessAttr'} = 'member'; $Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
# Bind credentials to log into AD $Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=ldapread,OU=ZZ_System
Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthModule::LDAP::SearchUserPw'} = 'myPassword';
# in case you want to add always one filter to each ldap query, use # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter =>
'(objectclass=user)' $Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
# in case you want to add a suffix to each login name, then # you can use this option. e. g. user just want to use user but # in your ldap directory exists user@domain. #$Self->{'AuthModule::LDAP::UserSuffix'} = ''; # Net::LDAP new params (if needed - for more info see perldoc
Net::LDAP) $Self->{'AuthModule::LDAP::Params'} = { port => 389, timeout => 120, async => 0, version => 3, };
# Now sync data with OTRS DB $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP'; $Self->{'AuthSyncModule::LDAP::Host'} = 'domaincontroller01.prtglab.local'; $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=prtglab, dc=local'; $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName'; $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=ldapread,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'myPassword';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = { # DB -> LDAP UserFirstname => 'givenName', UserLastname => 'sn', UserEmail => 'mail', }; # AuthSyncModule::LDAP::UserSyncInitialGroups # (sync following group with rw permission after initial create of
first agent # login) $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [ 'users', ];
Für die Anbindung eines weiteren AD's müsste ich doch den gesamten Block noch mal haben, richtig? Wie unterschiedet OTRS denn, ob die AD-Anbindung für die Agents oder für die Kunden ist? hier: ? $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
Die Synchronisation der AD-Felder bzw. die Zuordnung passiert hier? $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = { # DB -> LDAP UserFirstname => 'givenName', UserLastname => 'sn', UserEmail => 'mail',
Vielen Dank
Stefan Müller
OTRS mailing list: otrs-de - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/otrs-de To unsubscribe: http://lists.otrs.org/mailman/listinfo/otrs-de
Hallo,
den Log-Mechanismus kannst du in der SysConfig einstellen.
Ich glaub, mich zu erinnern, dass hier standardmäßig SysLog eingestellt ist, also nicht loggen in eine Log-Datei, sondern der Log-Mechanismus des Betriebssystems.
Ich hab den Parameter jetzt auf die Schnelle nicht - musst du in der SysConfig einfach mal suchen ;-)
Sind deine Kunden im AD Mitglied der in Config.pm angegebenen Gruppe? Stimt der Wert für $Self->{'Customer::AuthModule::LDAP::BaseDN1' ..?
Wir nutzen leider kein MS AD, sondern Novell eDirectory. Wir nutzen auch keinen Kunden-Login.
Gruß
Sepp
OTRS Testing otrs.testing2015@gmail.com 20.02.2015 15:55 >>>
Hallo Sepp, hallo Liste,
vielen Dank. Ich habe jetzt die Konfiguration angepasst. Inzwischen ist es Möglich, sich mit einem AD-Account als Agent anzumelden. Auch ist es möglich, sich als Systembenutzer (OTRS Benutzer) aus der OTRS-eigenen Datenbank anzumelden. Nicht möglich ist das Anmelden als Kunde. Hier kommt:
Authentication succeeded, but no customer record is found in the customer backend. Please contact your administrator.
Meine Frage: wo bekomme ich erweiterte Fehlermeldungen? Eigentlich sollten die Logfiles unter /opt/otrs/var/log sein (otrs.log), hier gibt es aber diese Logdatei nicht. Hier gibt es nur SchedulerOut-Logs sowie TicketCounter.log sowie SchedulerErr.log
meine Config.pm:
[CODE] # -- # Kernel/Config.pm - Config file for OTRS kernel # Copyright (C) 2001-2015 OTRS AG, http://otrs.com/ # -- # This software comes with ABSOLUTELY NO WARRANTY. For details, see # the enclosed file COPYING for license information (AGPL). If you # did not receive this file, see http://www.gnu.org/licenses/agpl.txt. # -- # Note: # # -->> Most OTRS configuration should be done via the OTRS web interface # and the SysConfig. Only for some configuration, such as database # credentials and customer data source changes, you should edit this # file. For changes do customer data sources you can copy the definitions # from Kernel/Config/Defaults.pm and paste them in this file. # Config.pm will not be overwritten when updating OTRS. # --
package Kernel::Config;
use strict; use warnings; use utf8;
sub Load { my $Self = shift;
# ---------------------------------------------------- # # database settings # # ---------------------------------------------------- #
# The database host $Self->{'DatabaseHost'} = '127.0.0.1';
# The database name $Self->{'Database'} = "otrs_main_db";
# The database user $Self->{'DatabaseUser'} = "otrsdbuser";
# The password of database user. You also can use bin/ otrs.CryptPassword.pl # for crypted passwords $Self->{'DatabasePw'} = '7#qirGzP!t!2kR$Nn2vu';
# The database DSN for MySQL ==> more: "perldoc DBD::mysql" $Self->{'DatabaseDSN'} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost}";
# The database DSN for PostgreSQL ==> more: "perldoc DBD::Pg" # if you want to use a local socket connection # $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};"; # if you want to use a TCP/IP connection # $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};host=$Self->{DatabaseHost};";
# The database DSN for Microsoft SQL Server - only supported if OTRS is # installed on Windows as well # $Self->{DatabaseDSN} = "DBI:ODBC:driver={SQL Server};Database=$Self->{Database};Server=$Self->{DatabaseHost},1433";
# The database DSN for Oracle ==> more: "perldoc DBD::oracle" # $Self->{DatabaseDSN} = "DBI:Oracle://$Self->{DatabaseHost}:1521/$Self->{Database}"; # # $ENV{ORACLE_HOME} = '/path/to/your/oracle'; # $ENV{NLS_DATE_FORMAT} = 'YYYY-MM-DD HH24:MI:SS'; # $ENV{NLS_LANG} = 'AMERICAN_AMERICA.AL32UTF8';
# ---------------------------------------------------- # # fs root directory # ---------------------------------------------------- # $Self->{Home} = '/opt/otrs';
# ---------------------------------------------------- # # insert your own config settings "here" # # config settings taken from Kernel/Config/Defaults.pm # # ---------------------------------------------------- # # $Self->{SessionUseCookie} = 0; # $Self->{CheckMXRecord} = 0; # Authenticate Users against local OTRS Database # Just for Management: If LDAP Auth fails, we have a # emergency-user database $Self->{'AuthModule1'} = 'Kernel::System::Auth::DB'; $Self->{'AuthModule::DB::CryptType1'} = 'crypt';
############################################################################## ### Diese Konfigration regelt den Zugriff der Agents aus dem AD ##### ############################################################################## # This is an example configuration for using an MS AD backend $Self->{'AuthModule2'} = 'Kernel::System::Auth::LDAP'; $Self->{'AuthModule::LDAP::Host2'} = 'prtglabdc01.prtglab.local'; $Self->{'AuthModule::LDAP::BaseDN2'} = 'dc=prtglab,dc=local'; $Self->{'AuthModule::LDAP::UID2'} = 'sAMAccountName';
# Check if the user is allowed to auth in a posixGroup # (e. g. user needs to be in a group OTRS_Agents to use otrs) $Self->{'AuthModule::LDAP::GroupDN2'} = 'CN=SG_OTRS_AGENTS,OU=ZZ_Global Security Groups,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthModule::LDAP::AccessAttr2'} = 'member'; $Self->{'AuthModule::LDAP::UserAttr2'} = 'DN';
# Bind credentials to log into AD $Self->{'AuthModule::LDAP::SearchUserDN2'} = 'CN=Systemldap,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthModule::LDAP::SearchUserPw2'} = 'MyPassword';
# in case you want to add always one filter to each ldap query, use # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)' $Self->{'AuthModule::LDAP::AlwaysFilter2'} = '';
# in case you want to add a suffix to each login name, then # you can use this option. e. g. user just want to use user but # in your ldap directory exists user@domain. #$Self->{'AuthModule::LDAP::UserSuffix2'} = '';
# Net::LDAP new params (if needed - for more info see perldoc Net::LDAP) $Self->{'AuthModule::LDAP::Params2'} = { port => 389, timeout => 120, async => 0, version => 3, };
# Now sync data with OTRS DB $Self->{'AuthSyncModule2'} = 'Kernel::System::Auth::Sync::LDAP'; $Self->{'AuthSyncModule::LDAP::Host2'} = 'prtglabdc01.prtglab.local'; $Self->{'AuthSyncModule::LDAP::BaseDN2'} = 'dc=prtglab, dc=local'; $Self->{'AuthSyncModule::LDAP::UID2'} = 'sAMAccountName'; $Self->{'AuthSyncModule::LDAP::SearchUserDN2'} = 'CN=Systemldap,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthSyncModule::LDAP::SearchUserPw2'} = 'MyPassword';
$Self->{'AuthSyncModule::LDAP::UserSyncMap2'} = { # DB -> LDAP UserFirstname => 'givenName', UserLastname => 'sn', UserEmail => 'mail', };
# AuthSyncModule::LDAP::UserSyncInitialGroups # (sync following group with rw permission after initial create of first agent # login) $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups2'} = [ 'users', ]; ############################################################################## #### Ende Konfiguration Agent-AD-Anbindung ##### ############################################################################## ################################################################################################################################ #------------------------------------------------------------------------------------------------------------------------------# # Customer # #------------------------------------------------------------------------------------------------------------------------------# $Self->{'Customer::AuthModule1'} = 'Kernel::System::CustomerAuth::LDAP'; $Self->{'Customer::AuthModule::LDAP::Host1'} = 'prtglabdc01.prtglab.local'; $Self->{'Customer::AuthModule::LDAP::BaseDN1'} ='dc=prtglab, dc=local'; $Self->{'Customer::AuthModule::LDAP::UID1'} = 'sAMAccountName'; $Self->{'Customer::AuthModule::LDAP::GroupDN1'} = 'CN=SG_OTRS_CUSTOMER,OU=ZZ_Global Security Groups,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'Customer::AuthModule::LDAP::AccessAttr1'} = 'member'; $Self->{'Customer::AuthModule::LDAP::SearchUserDN1'} = 'CN=Systemldap,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'Customer::AuthModule::LDAP::SearchUserPw1'} = 'MyPassword'; $Self->{'Customer::AuthModule::LDAP::Params1'} = { port => 389, timeout => 120, async => 0, version => 3, }; #------------------------------------------------------------------------------------------------------------------------------# # LDAP System Users # #------------------------------------------------------------------------------------------------------------------------------# $Self->{'AuthModule1'} = 'Kernel::System::Auth::LDAP'; $Self->{'AuthModule::LDAP::Host1'} = 'prtglabdc01.prtglab.local'; $Self->{'AuthModule::LDAP::BaseDN1'} = 'dc=prtglab, dc=local'; $Self->{'AuthModule::LDAP::UID1'} = 'sAMAccountName'; $Self->{'AuthModule::LDAP::SearchUserDN1'} = 'CN=Systemldap,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthModule::LDAP::SearchUserPw1'} = 'MyPassword'; $Self->{'AuthModule::LDAP::Params1'} = { 'async' => '0', 'timeout' => '120', 'version' => '3', 'port' => '389' };
$Self->{'AuthModule::LDAP::Die1'} = 1; #------------------------------------------------------------------------------------------------------------------------------# # UserSyncLDAPMap # #------------------------------------------------------------------------------------------------------------------------------#
$Self->{'UserSyncLDAPMap1'} = { 'UserEmail' => 'mail', 'UserFirstname' => 'givenName', 'UserLastname' => 'sn', 'UserLogin' => 'sAMAccountName' };
$Self->{CustomerUser1} = { Name => 'prtglab', Module => 'Kernel::System::CustomerUser::LDAP', Params => { Host => 'prtglabdc01.prtglab.local', BaseDN => 'dc=prtglab, dc=local', SSCOPE => 'sub', UserDN => 'CN=Systemldap,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local', UserPw => 'MyPassword', AlwaysFilter => , }, CustomerKey => 'sAMAccountName', CustomerID => 'mail', CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'], CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'], CustomerUserSearchPrefix => , CustomerUserSearchSuffix => '*', CustomerUserPostMasterSearchFields => ['mail'], CustomerUserNameFields => ['givenname', 'sn'], CustomerUserSearchListLimit => 1000, AdminSetPreferences => 0,
Map => [ [ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ], [ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var' ], [ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var' ], [ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ], [ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ], [ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ], [ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ], ], };
#------------------------------------------------------------------------------------------------------------------------------# # Firma Ende # #------------------------------------------------------------------------------------------------------------------------------# ################################################################################################################################
# ---------------------------------------------------- #
# ---------------------------------------------------- # # data inserted by installer # # ---------------------------------------------------- # # $DIBI$
# ---------------------------------------------------- # # ---------------------------------------------------- # # # # end of your own config options!!! # # # # ---------------------------------------------------- # # ---------------------------------------------------- # }
# ---------------------------------------------------- # # needed system stuff (don't edit this) # # ---------------------------------------------------- #
use base qw(Kernel::Config::Defaults);
# -----------------------------------------------------#
1; [/CODE]
Gruss Stefan
Am 29. Januar 2015 um 10:29 schrieb Josef1 Penzkofer < Josef1.Penzkofer@rz.uni-regensburg.de>:
... < Was funktioniert nicht< Nach der Anbindung eines AD's für die Agenten konnte ich mich jedoch mit den lokalen Accounts nicht mehr anmelden. >
Es können sich nur noch die Benutzer aus dem AD anmelden. Da die lokal angelegten Accounts im AD nicht existieren, funktioniert die Anmeldung natürlich nicht mehr.
Du musst ein zweites Auth-Modul für die OTRS-Datenbank einbauen. Dabei müssen weitere Module durchnummeriert werden, also z.B.: $Self->{'AuthModule1'} = ... $Self->{'AuthModule2'} =
Auszug aus Admin-Manual Authentication backends for Agents
DB (Default) The backend to authenticate agents which is used by default is the OTRS database. Agents can be added and edited via the agent management interface in the Admin page (see Example 11-6 below).
Example 4.11. Authenticate agents against a DB backend $Self->{'AuthModule1'} = 'Kernel::System::Auth::DB';
Für die Anbindung der Kunden: Siehe: OTRS Admin-Manual Abschnitt: Authentication backends for Customers
LDAP If you have an LDAP directory with all your customer data, you can use the LDAP module to authenticate your customers to OTRS (see Example 11-11 below). Because this module has only read-access to the LDAP backend, it is not possible to edit the customer data via the OTRS web interface.
Example 4.16. Customer user authentication against an LDAP backend # This is an example configuration for an LDAP auth. backend. # (make sure Net::LDAP is installed!) $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP'; ... Kannst du aus der Datei Defaults.pm Verzeichnis: /otrs/Kernel/Config rauskopieren und anpassen.
Gruß
Sepp
OTRS Testing otrs.testing2015@gmail.com 29.01.2015 07:39 >>>
Hallo OTRS-Liste,
ich habe mir gerade die Appliance heruntergeladen und diese (in der aktuellen Version) installiert. Ich bin also Neuling im Bereich PRTG, so please be polite :-D Ich habe vor, folgendes zu Realisieren:
- lokale Anmeldung
die lokale Anmeldung ist ja mit der Installation installiert worden. hier wollte ich mir einfach einen 2. Benutzer lokal anlegen, welcher die selben Rechte hat, wie der bei der Installation erstellte Benutzer. Ist kein Problem, ist gelöst.
- Anbindung eines Microsoft AD's für die "Kunden", basierend auf einer
Gruppenmitgliedschaft, z.B. PRTG_Kunden
- Anbindung eines weiteren Microsoft AD's für die "Agents", basierend auf
einer anderen Gruppenmitgliedschaft (z.B. PRTG_Agenten), welche sich im SELBEN Active Directory wie die Kunden befinden
- Alternativ, Anbindung eines weiteren AD's für Kunde 2.
Mir ist wichtig, das die Werte aus dem AD (z.B. für Vorname, Nachname, Email, Telefonnummer,usw.) mit Synchronisiert werden, so das ich die Kundenaccounts nicht 2 mal Pflegen muss.
Auch wäre mir wichtig, Die Queues aufgrund einer weiteren Gruppenzugehörigkeit auszuwählen. Ein Kunde hat also generell immer die Sicherheitsgruppe PRTG_Kunden und eine weitere, welche bestimmt in welcher Queue das Ticket erscheint, z.B. Queue_Buchhaltung.
Was funktioniert: lokale Anmeldung hat funktioniert Anbindung eines AD's für die Agenten hat funktioniert.
Was funktioniert nicht? Nach der Anbindung eines AD's für die Agenten konnte ich mich jedoch mit den lokalen Accounts nicht mehr anmelden.
Die Anbindung der Kunden und die Zuordnung als "Kunde" basierend auf der Gruppenmitgliedschaft ist mir nicht klar. Hat da jemand eine Beispielkonfiguration für mich?
Meine Config.PM-Datei sieht zur Zeit so aus: # This is an example configuration for using an MS AD backend $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP'; $Self->{'AuthModule::LDAP::Host'} = 'domaincontroller01.prtglab.local'; $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=prtglab,dc=local'; $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
# Check if the user is allowed to auth in a posixGroup # (e. g. user needs to be in a group OTRS_Agents to use otrs) $Self->{'AuthModule::LDAP::GroupDN'} = 'CN=SG_OTRS,OU=ZZ_Global
Security Groups,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthModule::LDAP::AccessAttr'} = 'member'; $Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
# Bind credentials to log into AD $Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=ldapread,OU=ZZ_System
Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthModule::LDAP::SearchUserPw'} = 'myPassword';
# in case you want to add always one filter to each ldap query, use # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter =>
'(objectclass=user)' $Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
# in case you want to add a suffix to each login name, then # you can use this option. e. g. user just want to use user but # in your ldap directory exists user@domain. #$Self->{'AuthModule::LDAP::UserSuffix'} = ''; # Net::LDAP new params (if needed - for more info see perldoc
Net::LDAP) $Self->{'AuthModule::LDAP::Params'} = { port => 389, timeout => 120, async => 0, version => 3, };
# Now sync data with OTRS DB $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP'; $Self->{'AuthSyncModule::LDAP::Host'} = 'domaincontroller01.prtglab.local'; $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=prtglab, dc=local'; $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName'; $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=ldapread,OU=ZZ_System Accounts,OU=Hamburg,DC=prtglab,DC=local'; $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'myPassword';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = { # DB -> LDAP UserFirstname => 'givenName', UserLastname => 'sn', UserEmail => 'mail', }; # AuthSyncModule::LDAP::UserSyncInitialGroups # (sync following group with rw permission after initial create of
first agent # login) $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [ 'users', ];
Für die Anbindung eines weiteren AD's müsste ich doch den gesamten Block noch mal haben, richtig? Wie unterschiedet OTRS denn, ob die AD-Anbindung für die Agents oder für die Kunden ist? hier: ? $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
Die Synchronisation der AD-Felder bzw. die Zuordnung passiert hier? $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = { # DB -> LDAP UserFirstname => 'givenName', UserLastname => 'sn', UserEmail => 'mail',
Vielen Dank
Stefan Müller
OTRS mailing list: otrs-de - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/otrs-de To unsubscribe: http://lists.otrs.org/mailman/listinfo/otrs-de
participants (2)
-
Josef1 Penzkofer
-
OTRS Testing