OTRS es un sistema de solicitud de tickets de código abierto escrito en Perl.
Hay dos opciones:
Enumeraré un poco de las
funciones que admite este sistema:
- Módulo ITSM (Gestión de nivel de servicio, Gestión de cambios, Gestión de configuración, CMDB)
- interfaz web receptiva
- API
- SLA y servicios
- multiinquilino
- escaladas
- Autenticación: DB, LDAP, HTTPBasicAuth, Radius
- soporte MySQL, MariaDB, PostgreSQL, Oracle
Y si busca fallas en él, es una interfaz inusual y complejidad en la configuración. Bajo el corte: acerca de los conceptos básicos de autorización (grupos, RBAC, soporte para varias empresas cliente), autenticación y sincronización de metadatos (nombre, teléfono, etc.) utilizando varios directorios LDAP
Clientes, colas, agentes y grupos.
Después de instalar OTRS, inmediatamente tendrá acceso a:
- clientes : pueden crear aplicaciones enviando una carta o utilizando el acceso web
- colas : cada aplicación cae en una de las colas de aplicaciones
- Agentes : profesionales de TI que trabajan en la ejecución de aplicaciones desde las colas disponibles para ellos.
- grupos : una entidad que conecta colas, clientes y agentes, y también establece los derechos de los agentes; por ejemplo, solo lectura, cambiar la prioridad de una aplicación, etc.

Grupos estándar
Después de instalar el sistema, verá tres grupos creados:
- admin : los miembros del grupo pueden administrar (configurar) OTRS
- estadísticas : la capacidad de personalizar y ejecutar informes
- usuarios : un grupo estándar para clientes, colas y agentes
Derechos relacionados con el grupo
Derechos fundamentales
Los principales derechos que se pueden configurar en un grupo que restringen las acciones del agente:
- solo lectura - derechos de solo lectura en la aplicación en este grupo / cola
- mover : derechos para mover solicitudes a este grupo / cola
- creación : derechos para crear aplicaciones en este grupo / cola
- nota : derechos para agregar notas a las aplicaciones en este grupo / cola
- propietario : derechos para cambiar el propietario de las aplicaciones en este grupo / cola
- prioridad : derechos para cambiar la prioridad de las aplicaciones en este grupo / cola
- lectura / escritura : permisos completos de lectura y escritura para solicitudes en este grupo / cola
Derechos adicionales
También hay derechos adicionales, cuya visualización se puede habilitar en la configuración (Sistema :: Permiso):
- informes : proporciona acceso a la página de informes
- redirigir : el derecho a redirigir / devolver el mensaje de correo (enlace de redireccionamiento / rebote en ticketZoom)
- crear : el derecho a elaborar una respuesta a la aplicación
- cliente : el derecho de cambiar el cliente para esta aplicación
- reenviar : el derecho a reenviar mensajes (usando el botón Reenviar)
- pendiente - el derecho de transferir la solicitud pendiente
- teléfono : el derecho a agregar el contenido de la llamada del cliente a la aplicación en forma de mensaje / nota
- Responsable : el derecho de cambiar a la persona responsable de la solicitud
Considere esto con más detalle:
- cada cliente puede incluirse en uno o varios grupos, inicialmente todos los clientes son miembros del grupo de usuarios
- cada cola de pedido está asociada con cualquiera de los grupos
- a través de la interfaz web, el cliente puede realizar solicitudes en esas colas a las que los grupos en los que está incluido tienen acceso
- cuando un cliente envía una solicitud por correo electrónico, es posible, basándose en un análisis de los atributos de la carta (por ejemplo, la dirección del remitente o el título de la carta), cambiar las características de la aplicación, incluida la cola en la que caerá la aplicación
- si el cliente llamó por teléfono, el agente puede hacer una aplicación manualmente seleccionando cualquiera de las colas disponibles para el agente
- es deseable que la aplicación del cliente esté siempre en las colas disponibles para el cliente, de lo contrario no podrá acceder a ella a través de la interfaz web
- los agentes pueden realizar acciones en las aplicaciones de acuerdo con los derechos de la cola en la que se encuentra la aplicación

Autenticación de base de datos
La forma estándar de autenticar y autorizar agentes y clientes es a través de una base de datos.
Por ejemplo, configurar la autenticación del agente utilizando una base de datos tiene este aspecto:
$Self->{'AuthModule'} = 'Kernel::System::Auth::DB';
Clientes:
$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';
También dejaremos este método de autenticación y agregaremos autenticación a través de LDAP además de él.
Roles y Compañías
También ampliaremos las capacidades de autorización agregando roles y empresas:
- roles : permiten un control de acceso más flexible conectando grupos y agentes
- empresas : permiten aislar aplicaciones de varios clientes (ya sean diferentes departamentos o empresas)

Declaración del problema.
Usted es el administrador del sistema OTRS en my-it-company.com, una compañía que brinda servicios a otras compañías (o unidades dentro de su holding).
Realmente no querrá crear nuevas cuentas de agente y cliente manualmente, así como completar información adicional como dirección de correo electrónico, número de teléfono, posición, dirección y número de gabinete; después de todo, esto ya está en los directorios LDAP.
Y su empresa también recibirá ventajas obvias: una sola contraseña de empleado en todos los sistemas, el bloqueo de una cuenta en LDAP bloqueará el acceso a todos los demás servicios.
my-it-company.com se ejecuta en Linux y utiliza Red Hat FreeIPA como servidor de directorio, y las unidades que atiende utilizan varios bosques de Microsoft Active Directory con los que no tiene federación, pero puede conectarse a controladores de dominio.
Debe separar los flujos de aplicaciones de diferentes clientes, así como implementar diferentes niveles de acceso de agentes a las colas; los gerentes deben poder cambiar la prioridad de las tareas en el sistema.
Los empleados de su empresa también pueden establecer tareas en el sistema para las necesidades internas de
my-it-company.com , a veces siendo agentes y clientes al mismo tiempo (y otras veces no).

Preparación
Cuentas para ver LDAP
Si se prohíbe la exploración anónima del árbol de directorios, crearemos cuentas en los dominios
my-it-company.com ,
pear.com y
macrohard.com para que tengamos suficientes derechos para realizar consultas LDAP (llamémoslas, por ejemplo, ldap-bot)
Grupos FreeIPA para sincronizar con roles OTRS
Crearemos tres grupos de usuarios en FreeIPA que se sincronizarán con nuestros roles OTRS, por ejemplo:
- otrs-sa : los miembros de este grupo obtendrán acceso a la administración de OTRS, pero no daremos acceso a las colas, por lo que no queremos trabajar siempre bajo el administrador),
- otrs-admins : nuestros gerentes con derecho a cambiar la prioridad de las aplicaciones) y
- otrs-helpdesk - nuestras cuentas especializadas
Atributo de la compañía
Elija el atributo por el cual determinaremos la afiliación a la empresa. Que sea el atributo "Organización". Por ejemplo, todo resultó organizativa y técnicamente, y todos los usuarios en todos los dominios siempre tienen un valor en el campo "Organización":
- my-it-company - para empleados de my-it-company.com
- pear-company - para empleados de pear.com
- macrohard-company - para empleados de macrohard.com
Definir atributos de usuario utilizados por FreeIPA
Estudiamos el esquema FreeIPA, descubriendo los nombres de los atributos que necesitaremos para la sincronización (nombre, inicio de sesión, teléfono, etc.).
kinit laptevs ipa user-show --all --raw laptevs
Tenemos una conclusión similar:dn: uid = laptevs, cn = usuarios, cn = cuentas, dc = my-it-company, dc = com
uid: laptevs
nombre de pila: Stanislav
sn: Laptev
cn: Laptev Stanislav
iniciales: SL
homedirectory: / home / laptevs
gecos: Laptev Stanislav
loginshell: / bin / sh
krbcanonicalname: laptevs@MY-IT-COMPANY.COM
krbprincipalname: laptevs@MY-IT-COMPANY.COM
correo: laptevs@MY-IT-COMPANY.COM
uidnumber: 1344600003
número de identificación: 1344600003
l: Moscú
número de teléfono: +7 (863) 999-99-99
móvil: +7 (999) 999-99-99
ou: my-it-company
título: 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 =
ID único: 68d46dac-1d3c-11e9-82fd-0242ac110002
krbExtraData: AAL4VkVcbGFwdGV2c0BPTUlLUk9OLlBSTwA =
krbLastFailedAuth: 20190123084142Z
krbLastPwdChange: 20190121052200Z
krbLoginFailedCount: 0
krbPasswordExpiration: 20190421052200Z
miembro de: cn = otrs-admins, cn = grupos, cn = cuentas, dc = my-it-company, dc = com
miembro de: cn = ipausers, cn = grupos, cn = cuentas, dc = my-it-company, dc = com
mepManagedEntry: cn = laptevs, cn = grupos, cn = cuentas, dc = my-it-company, dc = com
objectClass: top
objectClass: persona
objectClass: organizacional
objectClass: inetorgperson
objectClass: inetuser
objectClass: posixaccount
objectClass: krbprincipalaux
objectClass: krbticketpolicyaux
objectClass: ipaobject
objectClass: ipasshuser
objectClass: ipaSshGroupOfPubKeys
objectClass: mepOriginEntry
dn : uid = laptevs, cn = usuarios, cn = cuentas, dc = my-it-company, dc = com
uid : laptevs
nombre de pila : Stanislav
sn : Laptev
cn : Laptev Stanislav
correo : laptevs@MY-IT-COMPANY.COM
l : Moscú
número de teléfono : +7 (863) 999-99-99
móvil : +7 (999) 999-99-99
ou : my-it-company
título : SysAdm
Configurar OTRS
Archivos de configuración
- / opt / otrs / - como regla, los archivos del sistema OTRS se encuentran aquí
- Kernel / Config.pm : archivo de configuración que está editando
- Kernel / Config / Defaults.pm : un archivo con configuración estándar, no puede editarlo, pero en él puede ver todos los parámetros y comentarios existentes sobre ellos
Configuración del agente
Autenticación de agente
Agentes de sincronización (grupos LDAP con roles OTRS)
Si decide que los roles no le convienen y solo desea grupos, le daré dos ejemplos de sincronización de grupos LDAP con grupos OTRS: simplificados y con derechos de configuración para cada grupo.
Sincronización alternativa de agentes (grupos LDAP con grupos OTRS, con derechos) Sincronización alternativa simplificada del agente (grupos LDAP con roles OTRS con privilegios rw) Configuración del cliente
Autenticación del cliente
Sincronización de clientes (obtención de atributos de clientes de LDAP, comunicación con empresas OTRS)
Conclusión
Como viste, configurar la autenticación y la sincronización de cuentas en OTRS es muy simple, pero espero que este artículo ayude a aquellos que recién comienzan a familiarizarse con este sistema.
¿Qué queda por la borda de este artículo?
- En paralelo con LDAP, también puede ejecutar la autorización de SSO, lo que facilitará la vida de los clientes.
- Si tiene especialistas en Perl, puede escribir su propio backend para conectarse a otros sistemas de información.
- La configuración se ha simplificado deliberadamente, por ejemplo, no hay unidades de filtrado al pertenecer a grupos LDAP, no hay sufijos de dominio, BASE DN, trabajo con atributos adicionales, trabajo con LDAP en otros puertos y mucho más
Sugerencias y aclaraciones son bienvenidas en los comentarios, información sobre errores tipográficos - en el PM.
Gracias por su atencion Un agradecimiento especial a los autores cuyos materiales sobre OTRS usé hace muchos años cuando me presentaron este sistema:
Turilion ,
supersuperoleg ,
wmlex