OTRS est un système de demande de ticket open source écrit en Perl.
Il y a deux options:
Je vais énumérer quelques
fonctionnalités que ce système prend en charge:
- Module ITSM (Service Level Management, Change Management, Configuration Management, CMDB)
- interface Web réactive
- API
- SLA et services
- multi-locataire
- escalades
- Authentification: DB, LDAP, HTTPBasicAuth, Radius
- supporte MySQL, MariaDB, PostgreSQL, Oracle
Et si vous recherchez des défauts, c'est une interface et une complexité inhabituelles dans la configuration. Under the cut - sur les bases de l'autorisation (groupes, RBAC, prise en charge de plusieurs sociétés clientes), l'authentification et la synchronisation des métadonnées (nom, téléphone, etc.) à l'aide de divers répertoires LDAP
Clients, files d'attente, agents et groupes
Après avoir installé OTRS, vous aurez immédiatement accès à:
- clients - peuvent créer des applications en envoyant une lettre ou en utilisant l'accès Web
- files d'attente - chaque application tombe dans l'une des files d'attente d'application
- Agents - professionnels de l'informatique travaillant sur l'exécution d'applications à partir des files d'attente à leur disposition
- groupes - une entité qui connecte les files d'attente, les clients et les agents, ainsi que définit les droits des agents - par exemple, en lecture seule, modifier la priorité d'une application, etc.

Groupes standard
Après avoir installé le système, vous verrez trois groupes créés:
- admin - les membres du groupe peuvent administrer (configurer) OTRS
- stats - la possibilité de personnaliser et d'exécuter des rapports
- utilisateurs - un groupe standard pour les clients, les files d'attente et les agents
Droits liés au groupe
Droits fondamentaux
Les principaux droits pouvant être configurés dans un groupe qui restreignent les actions de l'agent:
- lecture seule - droits en lecture seule dans l'application dans ce groupe / file d'attente
- move - droits pour déplacer les requêtes vers ce groupe / file d'attente
- création - droits de créer des applications dans ce groupe / file d'attente
- note - droits d'ajouter des notes aux applications de ce groupe / file d'attente
- propriétaire - droits de changer le propriétaire des applications dans ce groupe / file d'attente
- priorité - droits de modifier la priorité des applications dans ce groupe / file d'attente
- lecture / écriture - autorisations complètes de lecture et d'écriture pour les demandes de ce groupe / file d'attente
Droits supplémentaires
Il existe également des droits supplémentaires, dont l'affichage peut être activé dans les paramètres (System :: Permission):
- rapports - donne accès à la page des rapports
- redirect - le droit de rediriger / renvoyer le message (lien de redirection / rebond dans ticketZoom)
- créer - le droit de préparer une réponse à la demande
- client - le droit de changer le client pour cette application
- transférer - le droit de transférer des messages (à l'aide du bouton Transférer)
- en attente - le droit de transférer la demande en attente
- téléphone - le droit d'ajouter le contenu de l'appel du client à l'application sous forme de message / note
- Responsable - Le droit de changer la personne responsable de la demande
Considérez cela plus en détail:
- chaque client peut être inclus dans un ou plusieurs groupes, initialement tous les clients sont membres du groupe d'utilisateurs
- chaque file d'attente de commandes est associée à l'un des groupes
- via l'interface web, le client peut faire des requêtes dans les files d'attente auxquelles les groupes dans lesquels il est inclus ont accès
- lorsqu'un client envoie une demande par e-mail, il est possible, sur la base d'une analyse des attributs de la lettre (par exemple, l'adresse de l'expéditeur ou le titre de la lettre), de modifier les caractéristiques de l'application, y compris la file d'attente dans laquelle l'application tombera
- si le client a appelé par téléphone, l'agent peut créer une application manuellement en sélectionnant l'une des files d'attente disponibles pour l'agent
- il est souhaitable que l'application du client soit toujours dans les files d'attente disponibles pour le client, sinon il ne pourra pas y accéder via l'interface web
- les agents peuvent effectuer des actions dans les applications conformément aux droits sur la file d'attente dans laquelle se trouve l'application

Authentification de la base de données
La méthode standard pour authentifier et autoriser les agents et les clients consiste à utiliser une base de données.
Par exemple, la définition de l'authentification d'agent à l'aide d'une base de données ressemble à ceci:
$Self->{'AuthModule'} = 'Kernel::System::Auth::DB';
Clients:
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::DB'; $Self->{'Customer::AuthModule::DB::Table'} = 'customer_user'; $Self->{'Customer::AuthModule::DB::CustomerKey'} = 'login'; $Self->{'Customer::AuthModule::DB::CustomerPassword'} = 'pw';
Nous laisserons également cette méthode d'authentification et ajouterons l'authentification via LDAP en plus.
Rôles et entreprises
Nous allons également étendre les capacités d'autorisation en ajoutant des rôles et des sociétés:
- rôles - permettre un contrôle d'accès plus flexible en connectant les groupes et les agents
- entreprises - permettent d'isoler les applications de divers clients (qu'il s'agisse de différents services ou entreprises)

Énoncé du problème
Vous êtes l'administrateur du système OTRS sur my-it-company.com, une société qui fournit des services à d'autres sociétés (ou unités au sein de votre exploitation).
Vous ne voudriez vraiment pas créer manuellement de nouveaux comptes d'agent et de client, ainsi que remplir des informations supplémentaires telles que l'adresse e-mail, le numéro de téléphone, la position, l'adresse et le numéro d'armoire - après tout, cela se trouve déjà dans les annuaires LDAP.
Et votre entreprise bénéficiera également d'avantages évidents - un seul mot de passe d'employé dans tous les systèmes, le blocage d'un compte dans LDAP bloquera l'accès à tous les autres services.
my-it-company.com fonctionne sous Linux et utilise Red Hat FreeIPA comme serveur d'annuaire, et les unités que vous servez utilisent diverses forêts Microsoft Active Directory avec lesquelles vous n'avez pas de fédération, mais vous pouvez vous connecter aux contrôleurs de domaine.
Vous devez séparer les flux d'application des différents clients, ainsi que mettre en œuvre différents niveaux d'accès des agents aux files d'attente - les gestionnaires devraient pouvoir modifier la priorité des tâches dans le système.
Les employés de votre entreprise peuvent également définir des tâches dans le système pour les besoins internes de
my-it-company.com , étant parfois à la fois agents et clients (et parfois pas).

La préparation
Comptes pour visualiser LDAP
Si la navigation anonyme dans l'arborescence est interdite, nous créerons des comptes dans les domaines
my-it-company.com ,
pear.com et
macrohard.com que nous avons suffisamment de droits pour effectuer des requêtes LDAP (appelons-les, par exemple, ldap-bot)
Groupes FreeIPA à synchroniser avec les rôles OTRS
Nous allons créer trois groupes d'utilisateurs sur FreeIPA qui se synchroniseront avec nos rôles OTRS, par exemple:
- otrs-sa - les membres de ce groupe auront accès à l'administration OTRS, mais nous ne donnerons pas accès aux files d'attente, de sorte que nous ne voulons pas toujours travailler sous l'administrateur),
- otrs-admins - nos managers ayant le droit de modifier la priorité des candidatures) et
- otrs-helpdesk - nos comptes spécialisés
Attribut de l'entreprise
Choisissez l'attribut par lequel nous déterminerons l'affiliation à l'entreprise. Que ce soit l'attribut "Organisation". Par exemple, tout s'est avéré organisationnel et technique, et tous les utilisateurs de tous les domaines ont toujours une valeur dans le champ "Organisation":
- my-it-company - pour les employés de my-it-company.com
- pear-company - pour les employés de pearl.com
- macrohard-company - pour les employés de macrohard.com
Définir les attributs utilisateur utilisés par FreeIPA
Nous étudions le schéma FreeIPA, en découvrant les noms des attributs dont nous aurons besoin pour la synchronisation (nom, login, téléphone, etc.).
kinit laptevs ipa user-show --all --raw laptevs
Nous obtenons une conclusion similaire:dn: uid = laptevs, cn = utilisateurs, cn = comptes, dc = my-it-company, dc = com
uid: laptevs
nom de don: Stanislav
sn: Laptev
cn: Laptev Stanislav
initiales: SL
homedirectory: / home / laptevs
gecos: Laptev Stanislav
loginshell: / bin / sh
krbcanonicalname: laptevs@MY-IT-COMPANY.COM
krbprincipalname: laptevs@MY-IT-COMPANY.COM
mail: laptevs@MY-IT-COMPANY.COM
uidnumber: 1344600003
gidnumber: 1344600003
l: Moscou
numéro de téléphone: +7 (863) 999-99-99
mobile: +7 (999) 999-99-99
ou: my-it-company
titre: SysAdm
sshpubkeyfp: SHA256: Yi8mKF + j28 / r2cpxLgIbvZ / Oymt57rhliHKhqBuJxqE laptevs-putty (ssh-rsa)
nsaccountlock: FALSE
has_password: TRUE
has_keytab: TRUE
displayName: Laptev Stanislav
ipaSshPubKey: c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBQkpRQUFBZ0VBNjQ1RTJjSjIvWXVVYm9GNzdZY3hLNzBndm1jWlgrZjBZTVpsaXRQVXNCWFZ0cENtTEtwcjRwK2JEeUdhRzNLTWx1T08ydW9wS0pXRk9mWE83Zzl3OTYzdklQblN3MzVHSmI3VGhhbk1pTXpNUE82T1lQZEY0em14b2k4N 0RGYkdXV2V6aGwzcitsbmFGYTB0dEQ5TkFWRU1Fb3BMdmkzcHZ1UXpyVmNjVlMxamFxY1dNT2ZGUC9TRlVoY1dGeVpZd3Z6eW0wWnZObUZtdjVjVHJGNzJMSXZOdHlsNkZGK2ZaU3ZpS01mcXZ6NStkT2xZZGd5bVVSOG5iaVpkTXZKaTIvbzhjTy84ekpoMFhtSnVRSjJXNEVvYVEvajVTTm8ySjZ6NklXNk I3cFB4Y002a0tJcUp5N08zTkNOcGRrVmVQbEFHbThsOFZDREpVa1RLSjRGOS9mSTZFUkhxVUZwK3p1VENTR1R3ZWlKdXppenFSZWJTTkNiMXh3RldmUitvYzFLdWNZSU5QbTYxRi93YXhOcC9aSG9OK2w1dCtkYWI4cElZSGZzTnNUNWx2RWt4Ukh0bnNyeUxsbWk1ZVdzd3RBbDB3TUpWd1cvUWNJcjhOaVN Ybm96Q3dHWTZCaTQ2L0FGTGVidmFLV0tKRmpKZFgxOFlRVDRpVzZGaE83aW40TGlUamlNaENXbStvbjNQbERYeXZpdkJ1WkFXUldXNEdjbXREVW8rSVhZT2t3MWh3UldqdkJtcExHMVZpMFhPckltbmQybTVZdWk1bHo0b1ZlekFRN1NjYVlrdDBoVEdQU1Z2UHpmVlowYWJCQlpiRmViK1hUV2tpSnBPMHBO T3dodGNadHYrN3RMMnc1OFN3QnhVTUk4NzUzdG5Sc1h1blBXZERqcUsxSDA9IGxhcHRldnMtcHV0dHk =
ipaUniqueID: 68d46dac-1d3c-11e9-82fd-0242ac110002
krbExtraData: AAL4VkVcbGFwdGV2c0BPTUlLUk9OLlBSTwA =
krbLastFailedAuth: 20190123084142Z
krbLastPwdChange: 20190121052200Z
krbLoginFailedCount: 0
krbPasswordExpiration: 20190421052200Z
membre de: cn = otrs-admins, cn = groups, cn = accounts, dc = my-it-company, dc = com
memberof: cn = ipausers, cn = groups, cn = accounts, dc = my-it-company, dc = com
mepManagedEntry: cn = laptevs, cn = groups, cn = accounts, dc = my-it-company, dc = com
objectClass: top
objectClass: personne
objectClass: personne d'organisation
objectClass: inetorgperson
objectClass: inetuser
objectClass: posixaccount
objectClass: krbprincipalaux
objectClass: krbticketpolicyaux
objectClass: ipaobject
objectClass: ipasshuser
objectClass: ipaSshGroupOfPubKeys
objectClass: mepOriginEntry
dn : uid = laptevs, cn = utilisateurs, cn = comptes, dc = my-it-company, dc = com
uid : laptevs
nom de don : Stanislav
sn : Laptev
cn : Laptev Stanislav
mail : laptevs@MY-IT-COMPANY.COM
l : Moscou
numéro de
téléphone : +7 (863) 999-99-99
mobile : +7 (999) 999-99-99
ou : my-it-company
titre : SysAdm
Configurer OTRS
Fichiers de configuration
- / opt / otrs / - en règle générale, les fichiers système OTRS se trouvent ici
- Kernel / Config.pm - fichier de configuration que vous éditez
- Kernel / Config / Defaults.pm - un fichier avec des paramètres standard, vous ne pouvez pas le modifier, mais vous pouvez y voir tous les paramètres et commentaires existants
Configuration de l'agent
Authentification de l'agent
Agents de synchronisation (groupes LDAP avec rôles OTRS)
Si vous décidez que les rôles ne vous conviennent pas et que vous souhaitez uniquement des groupes, je vais vous donner deux exemples de synchronisation de groupes LDAP avec des groupes OTRS - simplifiés et avec des droits de définition pour chaque groupe.
Synchronisation alternative des agents (groupes LDAP avec groupes OTRS, avec droits) Synchronisation alternative simplifiée des agents (groupes LDAP avec rôles OTRS avec privilèges rw) Configuration client
Authentification client
Synchronisation client (obtention des attributs client à partir de LDAP, communication avec les sociétés OTRS)
Conclusion
Comme vous l'avez vu, la configuration de l'authentification et de la synchronisation des comptes dans OTRS est très simple, mais j'espère que cet article aidera ceux qui commencent tout juste à se familiariser avec ce système.
Que reste-t-il à la mer de cet article?
- En parallèle avec LDAP, vous pouvez également exécuter l'autorisation SSO, ce qui facilitera la vie des clients.
- Si vous avez des spécialistes Perl, vous pouvez écrire votre propre backend pour vous connecter à d'autres systèmes d'information.
- La configuration a été délibérément simplifiée, par exemple, il n'y a pas d'unités de filtrage en appartenant à des groupes LDAP, il n'y a pas de suffixe de domaine, BASE DN, travailler avec des attributs supplémentaires, travailler avec LDAP sur d'autres ports et bien plus encore
Les astuces et clarifications sont les bienvenues dans les commentaires, informations sur les fautes de frappe - dans le PM.
Merci de votre attention. Remerciements particuliers aux auteurs dont j'ai utilisé le matériel sur OTRS il y a de nombreuses années lorsque j'ai
découvert ce système:
Turilion ,
supersuperoleg ,
wmlex