OTRS é um sistema de solicitação de ticket de código aberto escrito em Perl.
Existem duas opções:
Vou listar um pouco do
funcional que esse sistema suporta:
- Módulo ITSM (Gerenciamento de Nível de Serviço, Gerenciamento de Mudanças, Gerenciamento de Configuração, CMDB)
- interface web responsiva
- API
- SLA e serviços
- multilocatário
- escalações
- Autenticação: DB, LDAP, HTTPBasicAuth, Radius
- suporte MySQL, MariaDB, PostgreSQL, Oracle
E se você procurar falhas, é uma interface e complexidade incomuns na configuração. Sob o corte - sobre os conceitos básicos de autorização (grupos, RBAC, suporte para várias empresas clientes), autenticação e sincronização de metadados (nome, telefone, etc.) usando vários diretórios LDAP
Clientes, Filas, Agentes e Grupos
Depois de instalar o OTRS, você terá acesso imediato a:
- clientes - podem criar aplicativos enviando uma carta ou usando o acesso à web
- filas - cada aplicativo cai em uma das filas de aplicativos
- Agentes - profissionais de TI que trabalham na execução de aplicativos das filas disponíveis para eles
- grupos - uma entidade que conecta filas, clientes e agentes e também define os direitos dos agentes - por exemplo, somente leitura, altera a prioridade de um aplicativo etc.

Grupos padrão
Depois de instalar o sistema, você verá três grupos criados:
- admin - os membros do grupo podem administrar (configurar) OTRS
- estatísticas - a capacidade de personalizar e executar relatórios
- users - um grupo padrão para clientes, filas e agentes
Direitos relacionados ao grupo
Direitos Fundamentais
Os principais direitos que podem ser configurados em um grupo que restringe as ações do agente:
- direitos somente leitura - somente leitura no aplicativo neste grupo / fila
- move - direitos para mover solicitações para este grupo / fila
- criação - direitos para criar aplicativos neste grupo / fila
- note - direitos para adicionar notas a aplicativos neste grupo / fila
- owner - direitos para alterar o proprietário dos aplicativos neste grupo / fila
- prioridade - direitos para alterar a prioridade dos aplicativos nesse grupo / fila
- leitura / gravação - permissões completas de leitura e gravação para solicitações neste grupo / fila
Direitos adicionais
Também existem direitos adicionais, cuja exibição pode ser ativada nas configurações (System :: Permission):
- relatórios - fornece acesso à página de relatórios
- redirecionar - o direito de redirecionar / devolver a mensagem de email (link de redirecionamento / devolução no ticketZoom)
- create - o direito de elaborar uma resposta ao aplicativo
- customer - o direito de alterar o cliente para esta aplicação
- encaminhar - o direito de encaminhar mensagens (usando o botão Encaminhar)
- pendente - o direito de transferir o aplicativo pendente
- phone - o direito de adicionar o conteúdo da chamada do cliente ao aplicativo na forma de uma mensagem / nota
- Responsável - O direito de mudar a pessoa responsável pela inscrição
Considere isso com mais detalhes:
- cada cliente pode ser incluído em um ou vários grupos, inicialmente todos os clientes são membros do grupo de usuários
- cada fila de pedidos está associada a qualquer um dos grupos
- por meio da interface da web, o cliente pode fazer solicitações nessas filas às quais os grupos nos quais ele está incluído têm acesso
- quando um cliente envia uma solicitação por email, é possível, com base em uma análise dos atributos da carta (por exemplo, o endereço do remetente ou o título da carta), alterar as características do aplicativo, incluindo a fila na qual o aplicativo cairá.
- se o cliente ligar por telefone, o agente poderá criar um aplicativo manualmente, selecionando qualquer uma das filas disponíveis para o agente
- é desejável que o aplicativo do cliente esteja sempre nas filas disponíveis para o cliente, caso contrário ele não poderá acessá-lo através da interface da web
- agentes podem executar ações em aplicativos de acordo com os direitos da fila em que o aplicativo está localizado

Autenticação de banco de dados
A maneira padrão de autenticar e autorizar agentes e clientes é através de um banco de dados.
Por exemplo, a configuração da autenticação do agente usando um banco de dados se parece com isso:
$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';
Também deixaremos esse método de autenticação e adicionaremos a autenticação via LDAP além dele.
Funções e Empresas
Também expandiremos os recursos de autorização adicionando funções e empresas:
- funções - permitem um controle de acesso mais flexível conectando grupos e agentes
- empresas - permite isolar aplicativos de vários clientes (sejam departamentos ou empresas diferentes)

Declaração do problema
Você é o administrador do sistema OTRS em my-it-company.com, uma empresa que presta serviços a outras empresas (ou unidades dentro da sua participação).
Você realmente não gostaria de criar novas contas de agentes e clientes manualmente, além de preencher informações adicionais como endereço de email, número de telefone, posição, endereço e número do gabinete - afinal, isso já está nos diretórios LDAP.
E sua empresa também receberá vantagens óbvias - uma única senha de funcionário em todos os sistemas, ao bloquear uma conta no LDAP, o acesso a todos os outros serviços será bloqueado.
my-it-company.com é executado no Linux e usa o Red Hat FreeIPA como servidor de diretório, e as unidades que você atende usam várias florestas do Microsoft Active Directory com as quais você não possui federação, mas pode se conectar a controladores de domínio.
Você precisa separar os fluxos de aplicativos de diferentes clientes, bem como implementar diferentes níveis de acesso do agente às filas - os gerentes devem poder alterar a prioridade das tarefas no sistema.
Os funcionários da sua empresa também podem definir tarefas no sistema para as necessidades internas de
my-it-company.com , às vezes sendo agentes e clientes ao mesmo tempo (e às vezes não).

Preparação
Contas para visualizar LDAP
Se a navegação anônima da árvore de diretórios for proibida, criaremos contas nos domínios
my-it-company.com ,
pear.com e
macrohard.com cujos direitos são suficientes para fazermos consultas LDAP (vamos chamá-las, por exemplo, ldap-bot)
Grupos FreeIPA para sincronizar com funções OTRS
Criaremos três grupos de usuários no FreeIPA que serão sincronizados com nossas funções OTRS, por exemplo:
- otrs-sa - os membros deste grupo terão acesso à administração do OTRS, mas não daremos acesso às filas, para que não desejemos sempre trabalhar com o administrador),
- otrs-admins - nossos gerentes com o direito de alterar a prioridade dos aplicativos) e
- otrs-helpdesk - nossas contas de especialistas
Atributo da empresa
Escolha o atributo pelo qual determinaremos a afiliação à empresa. Que seja o atributo "Organização". Por exemplo, tudo acabou organizacional e tecnicamente, e todos os usuários em todos os domínios sempre têm um valor no campo "Organização":
- my-it-company - para funcionários de my-it-company.com
- empresa pear - para funcionários da pear.com
- macrohard-company - para funcionários da macrohard.com
Definir atributos do usuário usados pelo FreeIPA
Estudamos o esquema do FreeIPA, descobrindo os nomes dos atributos que precisaremos para sincronização (nome, login, telefone, etc.).
kinit laptevs ipa user-show --all --raw laptevs
Temos uma conclusão semelhante:dn: uid = laptevs, cn = usuários, cn = contas, dc = minha empresa, dc = com
uid: laptevs
Nome: Stanislav
sn: Laptev
cn: Laptev Stanislav
iniciais: SL
diretório local: / 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
número de telefone: +7 (863) 999-99-99
móvel: +7 (999) 999-99-99
ou: minha-empresa
title: 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
Você está em: Página Inicial> Imprensa> Notícias
krbLoginFailedCount: 0
Data de publicação: 20190421052200Z
memberof: cn = otrs-admins, cn = grupos, cn = contas, dc = minha empresa, dc = com
memberof: cn = ipausers, cn = groups, cn = contas, dc = minha empresa, dc = com
mepManagedEntry: cn = laptevs, cn = grupos, cn = contas, dc = minha empresa, dc = com
objectClass: top
objectClass: person
objectClass: organizacionalperson
objectClass: inetorgperson
objectClass: inetuser
objectClass: posixaccount
objectClass: krbprincipalaux
objectClass: krbticketpolicyaux
objectClass: ipaobject
objectClass: ipasshuser
objectClass: ipaSshGroupOfPubKeys
objectClass: mepOriginEntry
dn : uid = laptevs, cn = usuários, cn = contas, dc = minha empresa, dc = com
uid : laptevs
Nome : Stanislav
sn : Laptev
cn : Laptev Stanislav
mail : laptevs@MY-IT-COMPANY.COM
l : Moscou
número de telefone : +7 (863) 999-99-99
móvel : +7 (999) 999-99-99
ou : minha-empresa
title : SysAdm
Configurar OTRS
Arquivos de configuração
- / opt / otrs / - como regra, os arquivos do sistema OTRS estão localizados aqui
- Kernel / Config.pm - arquivo de configuração que você está editando
- Kernel / Config / Defaults.pm - um arquivo com configurações padrão, você não pode editá-lo, mas nele você pode ver todos os parâmetros e comentários existentes sobre eles
Configuração do agente
Autenticação de agente
Sincronizando agentes (grupos LDAP com funções OTRS)
Se você decidir que as funções não combinam com você e você deseja apenas grupos, darei dois exemplos de sincronização de grupos LDAP com grupos OTRS - simplificados e com direitos de configuração para cada grupo.
Sincronização alternativa de agente (grupos LDAP com grupos OTRS, com direitos) Sincronização alternativa de agente simplificada (grupos LDAP com funções OTRS com privilégios rw) Configuração do cliente
Autenticação de cliente
Sincronização do cliente (obtendo atributos do cliente do LDAP, comunicação com empresas OTRS)
Conclusão
Como você viu, configurar a autenticação e a sincronização de contas no OTRS é muito simples, mas espero que este artigo ajude aqueles que estão começando a se familiarizar com esse sistema.
O que resta deste artigo?
- Paralelamente ao LDAP, você também pode executar a autorização SSO, o que facilitará a vida dos clientes.
- Se você possui especialistas em Perl, pode escrever seu próprio back-end para conectar-se a outros sistemas de informação.
- A configuração foi deliberadamente simplificada, por exemplo, não há unidades de filtragem por pertencer a grupos LDAP, não há sufixos de domínio, DN BASE, trabalho com atributos adicionais, trabalho com LDAP em outras portas e muito mais
Dicas e esclarecimentos são bem-vindos nos comentários, informações sobre erros de digitação - no PM.
Obrigado pela atenção. Agradecimentos especiais aos autores cujos materiais sobre OTRS eu usei há muitos anos quando fui apresentado a este sistema:
Turilion ,
supersuperoleg ,
wmlex