Agenten¶
Das Agenten- und Zugriffsmanagement für Ihren Service-Desk sollte einfach sein. Flexibilität beim Hinzufügen, Bearbeiten, Entwerten des Zugriffs und ein schneller Überblick darüber, welche Berechtigungen ein Benutzer hat, helfen Ihnen, ein sauberes Berechtigungssystem zu pflegen und Ihr Setup in OTRS aufzuzeichnen.
OTRS unterstützt Sie dabei, Agenten innerhalb von OTRS über mehrere Backends hinweg zu verwalten. OTRS kann bis zu zehn Backend-Quellen verwenden und sogar einige als schreibgeschützt markieren. Durch die zentrale Verwaltung der Benutzereinstellungen kann ein Administrator im Falle einer unerwarteten Krankheit schnell ein kompromittiertes Konto ungültig setzen oder ein Konto auf Abwesenheitsnotiz setzen.
Verwenden Sie diese Ansicht, um Agenten zum System hinzuzufügen. Eine neue OTRS-Installation enthält standardmäßig einen Agent mit Administrator-Rechten. Die Ansicht zur Verwaltung der Agenten ist im Modul Agenten in der Gruppe Benutzer, Gruppen & Rollen verfügbar.

Agenten verwalten
Warnung
Der Benutzername des Superuser-Kontos lautet root@localhost. Verwenden Sie nicht das Superuser-Konto, um mit OTRS zu arbeiten! Erstellen Sie neue Agenten und arbeiten Sie stattdessen mit diesen Konten. Eine der nachteiligen Auswirkungen ist, dass Access Control Lists (ACL) keine Auswirkungen auf diesen Benutzer haben.
Agenten verwalten¶
Bemerkung
Das Hinzufügen oder Bearbeiten eines Agenten ist nur über das Datenbank-Backend möglich. Die Verwendung explizit externer Verzeichnisdienste wie LDAP und, je nach Konfiguration, einiger Datenbanken ist schreibgeschützt. Persönliche Einstellungen wie Abwesenheiten können weiterhin eingestellt werden.
So fügen Sie einen Agenten hinzu:
- Klicken Sie in der linken Seitenleiste auf die Schaltfläche Agent hinzufügen.
- Füllen Sie die Pflichtfelder aus.
- Klicken Sie auf die Schaltfläche Speichern.

Agent hinzufügen
Warnung
Agenten können nicht aus dem System gelöscht werden. Sie können nur deaktiviert werden, wenn die Einstellung Gültigkeit auf ungültig oder ungültig-temporär gesetzt wird.
So bearbeiten Sie einen Agent:
- Klicken Sie in der Liste mit den Agenten auf einen Agent.
- Ändern Sie die Felder.
- Klicken Sie auf die Schaltfläche Speichern oder Speichern und abschließen.

Agent bearbeiten
Es ist auch möglich, die persönlichen Einstellungen eines Agenten zu bearbeiten. Um dies zu tun, klicken Sie auf die Persönliche Einstellungen für diesen Agenten bearbeiten-Schaltfläche in der linken Seitenleiste in der Agent bearbeiten-Ansicht.
So finden Sie einen Agent:
- Geben Sie einen Suchbegriff in das Suchfeld in der linken Seitenleiste ein.
- Klicken Sie auf das Lupen-Symbol oder betätigen Sie
Eingabe
.
Bemerkung
Wenn dem System mehrere Agenten hinzugefügt wurden, nutzen Sie das Suchfeld, um einen einzelnen Agenten zu finden. Standardmäßig werden nur die ersten 1000 Agenten angezeigt.
Die Berechtigungen des Agenten können gesteuert werden, indem ein Agent zu Gruppen oder Rollen hinzugefügt wird. Dies kann zu einer komplexen Matrix von Berechtigungen führen. Die effektiven Berechtigungen für einen Agenten können unten auf der Ansicht Agent bearbeiten überprüft werden. Wenn Rollen (empfohlen) verwendet werden, spiegelt diese Ansicht die kombinierten Berechtigungen wider, wie sie von den Rollen vorgegeben sind.

Effektive Berechtigungen für Agent
Einstellungen für Agenten¶
Die folgenden Einstellungen sind verfügbar, wenn Sie diese Ressource hinzufügen oder bearbeiten. Die mit Stern gekennzeichneten Felder sind Pflichtfelder.
Bemerkung
Dies sind die Standardfelder, die für die interne Datenbank-Tabelle zur Verfügung stehen.
- Titel oder Anrede
- Hier können einige Präfixe, wie bspw. Dr. oder Prof. etc. hinzugefügt werden.
- Vorname *
- Der Vorname eines Agenten.
- Nachname *
Der Nachname eines Agenten.
Siehe auch
Der angezeigte Name eines Agenten, kann mit der Systemkonfigurations-Einstellung
FirstnameLastnameOrder
geändert werden.- Benutzername *
- Der Benutzername des Agenten, der sich am System anmeldet.
- Passwort
- Das Passwort des Agenten. Wird automatisch generiert, wenn das Feld leer gelassen wird.
- E-Mail *
Die E-Mail-Adresse des Agenten.
Bemerkung
Die E-Mail-Syntax und die Gültigkeit eines verfügbaren MX-Eintrags könnten Sie daran hindern, dieses Formular abzuschicken. Bei einigen Systemen kann es angebracht sein, diese Prüfungen zu deaktivieren.
- Mobiltelefon
- Die Mobilfunknummer des Agenten.
- Gültigkeit *
- Setzt die Gültigkeit dieser Ressource. Jede Ressource kann nur in OTRS verwendet werden, wenn dieses Feld auf gültig gesetzt ist. Wenn Sie dieses Feld auf ungültig oder ungültig-temporär setzen, wird die Nutzung der Ressource deaktiviert.
Agenten-Back Ends¶
Agenten können von einem Active Directory®- oder LDAP-Server aus gelesen und synchronisiert werden.
Das Administrator-Interface unterstützt nicht die Konfiguration von externen Backends. Administratoren müssen die Datei Kernel/Config.pm
bearbeiten, indem Sie Codeausschnitte aus Kernel/Config/Defaults.pm
manuell kopieren und einfügen, wenn sie On-Premise-System verwenden.
Wenn Sie bereits über ein Agenten-Backend verfügen (z. B. SAP), können Sie ein Modul schreiben, das dieses verwendet.
Warnung
Ändern Sie die Datei Kernel/Config/Defaults.pm
nicht, sie wird nach dem Upgrade des Systems überschrieben! Kopieren und fügen Sie die Codeschnipsel stattdessen in Kernel/Config.pm
ein.
Bemerkung
This feature is only available to On-Premise customers. If you are a Managed customer, this feature is taken care of by the Customer Solutions Team in OTRS. Please contact us via support@otrs.com or in the OTRS Portal.
Agenten-Backend - Datenbank¶
Das Standard-Backend für die Benutzerauthentifizierung von Agenten ist die OTRS-Datenbank. Mit diesem Backend können alle Agenten-Daten über das Administrator-Interface bearbeitet werden.
# This is the auth. module against the otrs db
$Self->{AuthModule} = 'Kernel::System::Auth::DB';
# defines AuthSyncBackend (AuthSyncModule) for AuthModule
# if this key exists and is empty, there won't be a sync.
# example values: AuthSyncBackend, AuthSyncBackend2
# $Self->{'AuthModule::UseSyncBackend'} = '';
# password crypt type (bcrypt|sha2|sha1|md5|apr1|crypt|plain)
# $Self->{'AuthModule::DB::CryptType'} = 'sha2';
# If "bcrypt" was selected for CryptType, use cost specified here for bcrypt hashing.
# Currently max. supported cost value is 31.
# $Self->{'AuthModule::DB::bcryptCost'} = 12;
Agenten-Backend - LDAP¶
Wenn Sie über ein LDAP-Verzeichnis mit all Ihren Agentendaten verfügen, können Sie das LDAP-Modul zur Authentifizierung Ihrer Agenten verwenden. Da dieses Modul nur Lesezugriff auf das LDAP-Backend hat, ist es nicht möglich, die Agentendaten über das Administrator-Interface zu bearbeiten.
# This is an example configuration for an LDAP auth. backend.
# (take care that Net::LDAP is installed!)
# $Self->{AuthModule} = 'Kernel::System::Auth::LDAP';
# $Self->{'AuthModule::LDAP::Host'} = 'ldap.example.com';
# $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=example,dc=com';
# $Self->{'AuthModule::LDAP::UID'} = 'uid';
# Check if the user is allowed to auth in a posixGroup
# (e. g. user needs to be in a group xyz to use otrs)
# $Self->{'AuthModule::LDAP::GroupDN'} = 'cn=otrsallow,ou=posixGroups,dc=example,dc=com';
# $Self->{'AuthModule::LDAP::AccessAttr'} = 'memberUid';
# for ldap posixGroups objectclass (just uid)
# $Self->{'AuthModule::LDAP::UserAttr'} = 'UID';
# for non ldap posixGroups objectclass (with full user dn)
# $Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
# The following is valid but would only be necessary if the
# anonymous user do NOT have permission to read from the LDAP tree
# $Self->{'AuthModule::LDAP::SearchUserDN'} = '';
# $Self->{'AuthModule::LDAP::SearchUserPw'} = '';
# in case you want to add always one filter to each ldap query, use
# this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)'
# or if you want to filter with a locigal OR-Expression, like AlwaysFilter => '(|(mail=*abc.com)(mail=*xyz.com))'
# $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'} = '@domain.com';
# In case you want to convert all given usernames to lower letters you
# should activate this option. It might be helpful if databases are
# in use that do not distinguish selects for upper and lower case letters
# (Oracle, postgresql). User might be synched twice, if this option
# is not in use.
# $Self->{'AuthModule::LDAP::UserLowerCase'} = 0;
# In case you need to use OTRS in iso-charset, you can define this
# by using this option (converts utf-8 data from LDAP to iso).
# $Self->{'AuthModule::LDAP::Charset'} = 'iso-8859-1';
# 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,
# };
# Die if backend can't work, e. g. can't connect to server.
# $Self->{'AuthModule::LDAP::Die'} = 1;
Das Minimum, das für die Verbindung zu einem Verzeichnis-Server erforderlich ist, sind:
$Self->{AuthModule} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'ldap.example.com';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=example,dc=com';
$Self->{'AuthModule::LDAP::UID'} = 'uid';
Host
- Der DNS-Name oder die IP Ihres Verzeichnis-Servers.
BaseDN
- Der Startpunkt in Ihrem Verzeichnisbaum.
UID
Das Attribut, das für die Anmeldung und Identifizierung verwendet wird.
Bemerkung
Das ist ein
sAMAccountName
für ein Active Directory.
Es ist möglich, eine Verbindung zu einem LDAP über eine sichere Verbindung herzustellen. In diesem Fall muss das Protokoll ldaps://
zum Parameter host hinzugefügt und der Port geändert werden.
$Self->{'AuthModule::LDAP::Host'} = 'ldaps://secure.example.com';
$Self->{'AuthModule::LDAP::Params'}->{port} = 636;
Um mehrere Backends zu verwenden, fügen Sie der Config.pm
einen zusätzlichen Abschnitt des Beispielcodes hinzu. Achten Sie darauf, dass alle Einstellungen mit einem Zahlenwert [1-9] versehen sind, der angibt, welche Einstellungen zu welchem Backend gehören.
### Backend One
$Self->{AuthModule} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'ldap.example.com';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=example,dc=com';
$Self->{'AuthModule::LDAP::UID'} = 'uid';
### Backend Two
$Self->{AuthModule1} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host1'} = 'ldap.example.com';
$Self->{'AuthModule::LDAP::BaseDN1'} = 'dc=example,dc=com';
$Self->{'AuthModule::LDAP::UID1'} = 'uid';
Warnung
Alle Backends werden nacheinander verwendet. Die UID muss für alle Backends eindeutig sein, da sonst einige Nebenwirkungen auftreten können.
Wenn ein LDAP-Server nicht verfügbar ist, sollte ein anderer Server als Fallback verwendet werden. Da es in jeder Backend-Konfiguration nur eine Host-Einstellung gibt, müssen die Server in einem Array hinzugefügt werden.
$Self->{'AuthModule::LDAP::Host'} = ['ldaps://ldapserver_one.com', 'ldaps://ldapserver_two.com'];
$Self->{'AuthModule::LDAP::Die'} = 0;
Bitte beachten Sie, dass es keine echte Fallback-Funktionalität gibt, aber dieser Workaround sollte in den meisten Fällen funktionieren. Das System versucht immer zuerst den ersten LDAP-Server und nach einem Timeout den zweiten. Empfohlen wird die Konfiguration eines Fallback- oder redundanten LDAP auf Serverseite.
Um mit einem bestimmten Verzeichnis-Server zu synchronisieren, müssen Sie die entsprechende Einstellung zu Ihrem Agenten-Authentifizierungs-Backend hinzufügen. Um dies zu erreichen, kopieren Sie den folgenden Block aus der Defaults.pm
und fügen ihn in die Config.pm
ein.
$Self->{'AuthModule::UseSyncBackend'} = 'AuthSyncBackend';
Um mehrere Backends zu verwenden, fügen Sie der Config.pm
einen zusätzlichen Abschnitt des Beispielcodes hinzu. Achten Sie darauf, dass alle Einstellungen mit einem Zahlenwert [1-9] versehen sind, der angibt, welche Einstellungen zu welchem Backend gehören.
$Self->{'AuthModule::UseSyncBackend1'} = 'AuthSyncBackend1';
Die Wiederverwendung eines Agenten-Synchronisations-Backends ist ebenfalls möglich.
$Self->{'AuthModule::UseSyncBackend1'} = 'AuthSyncBackend';
Es ist ratsam, die Agentendaten zu synchronisieren, damit Agenten nicht vor der Autorisierung manuell in die Tabelle users
aufgenommen werden müssen. Zusätzlich können Gruppen und Rollen automatisch über Sicherheitsobjekte des Verzeichnis-Servers hinzugefügt werden.
Bemerkung
Es können mehrere Agenten-Synchronisations-Backend-Blöcke verwendet werden. Bitte stellen Sie sicher, dass Sie allen Einstellungen einen numerischen Wert [1-9] hinzufügen, um anzuzeigen, welche Einstellungen zu welchem Backend gehören. Jedes AuthSyncModule
muss explizit in einem Agenten-Authentifizierungs-Backend verwendet werden.
Synchronisation der Benutzerdaten bei der Anmeldung. Um dies zu erreichen, kopieren Sie den folgenden Block aus der Defaults.pm
und fügen ihn in die Config.pm
ein.
# This is an example configuration for an LDAP auth sync. backend.
# (take care that Net::LDAP is installed!)
# $Self->{AuthSyncModule} = 'Kernel::System::Auth::Sync::LDAP';
# $Self->{'AuthSyncModule::LDAP::Host'} = 'ldap.example.com';
# $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=example,dc=com';
# $Self->{'AuthSyncModule::LDAP::UID'} = 'uid';
# The following is valid but would only be necessary if the
# anonymous user do NOT have permission to read from the LDAP tree
# $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = '';
# $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = '';
# in case you want to add always one filter to each ldap query, use
# this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)'
# or if you want to filter with a logical OR-Expression, like AlwaysFilter => '(|(mail=*abc.com)(mail=*xyz.com))'
# $Self->{'AuthSyncModule::LDAP::AlwaysFilter'} = '';
# AuthSyncModule::LDAP::UserSyncMap
# (map if agent should create/synced from LDAP to DB after successful login)
# you may specify LDAP-Fields as either
# * list, which will check each field. first existing will be picked ( ["givenName","cn","_empty"] )
# * name of an LDAP-Field (may return empty strings) ("givenName")
# * fixed strings, prefixed with an underscore: "_test", which will always return this fixed string
# $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
# # DB -> LDAP
# UserFirstname => 'givenName',
# UserLastname => 'sn',
# UserEmail => 'mail',
# };
Das Minimum, das für die Verbindung zu einem Verzeichnis-Server erforderlich ist, sind:
$Self->{AuthSyncModule} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = 'ldap.example.com';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=example,dc=com';
$Self->{'AuthSyncModule::LDAP::UID'} = 'uid';
Host
- Der DNS-Name oder die IP Ihres Verzeichnis-Servers.
BaseDN
- Der Startpunkt in Ihrem Verzeichnisbaum.
UID
Das Attribut, das für die Anmeldung und Identifizierung verwendet wird.
Bemerkung
Das ist ein
sAMAccountName
für ein Active Directory.
Agenten-Backend - HTTPBasicAuth¶
Wenn Sie eine Single-Sign-On-Lösung für alle Ihre Agenten implementieren möchten, können Sie HTTPBasic-Authentifizierung (für alle Ihre Systeme) verwenden und das HTTPBasicAuth-Modul mit OTRS nutzen. Mit OTRS ist keine Anmeldung mehr erforderlich.
# This is an example configuration for an apache ($ENV{REMOTE_USER})
# auth. backend. Use it if you want to have a singe login through
# apache http-basic-auth.
# $Self->{AuthModule} = 'Kernel::System::Auth::HTTPBasicAuth';
# In case there is a leading domain in the REMOTE_USER, you can
# replace it by the next config option.
# $Self->{'AuthModule::HTTPBasicAuth::Replace'} = 'example_domain\\';
# In case you need to replace some part of the REMOTE_USER, you can
# use the following RegExp ($1 will be new login).
# $Self->{'AuthModule::HTTPBasicAuth::ReplaceRegExp'} = '^(.+?)@.+?$';
# Note:
# If you use this module, you should use as fallback the following
# config settings if user isn't login through apache ($ENV{REMOTE_USER}).
# $Self->{LoginURL} = 'http://host.example.com/not-authorised-for-otrs.html';
# $Self->{LogoutURL} = 'http://host.example.com/thanks-for-using-otrs.html';
Bemerkung
Es können mehrere Agenten-Synchronisations-Backend-Blöcke verwendet werden. Bitte stellen Sie sicher, dass Sie allen Einstellungen einen numerischen Wert [1-9] hinzufügen, um anzuzeigen, welche Einstellungen zu welchem Backend gehören. Jedes AuthSyncModule
muss explizit in einem Agenten-Authentifizierungs-Backend verwendet werden.
Agent Back End - Radius¶
Die im folgenden Beispiel gezeigten Einstellungen können verwendet werden, um Ihre Agenten gegenüber einem Radius-Server zu authentifizieren.
# This is example configuration to auth. agents against a radius server.
# $Self->{'AuthModule'} = 'Kernel::System::Auth::Radius';
# $Self->{'AuthModule::Radius::Host'} = 'radiushost';
# $Self->{'AuthModule::Radius::Password'} = 'radiussecret';
# Die if backend can't work, e. g. can't connect to server.
# $Self->{'AuthModule::Radius::Die'} = 1;