Sie sind auf Seite 1von 9

Access Control Lists - ACL

Treinamento OTRS Help Desk


Sumrio
Introduo.................................................................................................................. 3
Sees compe as ACLs............................................................................................ 4
Properties.............................................................................................................. 4
PropertiesDatabase............................................................................................... 4
Possible.................................................................................................................. 4
PossibleNot............................................................................................................ 4
Propriedades.............................................................................................................. 6
Action..................................................................................................................... 6
Expresses Regulares................................................................................................ 6
Parmetros possveis................................................................................................. 7

Complemento Liberdade e Tecnologia


Tel: +55 (11) 2506-0180 - So Paulo SP - Brasil
Introduo

As ACLs servem para incrementar o sistema de permisses do OTRS. Com elas


possvel restringir escolhas de atributos do ticket ou aes possveis de serem
tomadas de acordo com as propriedades atuais do mesmo (fila atual, estado etc).
Atualmente criamos as ACLs com implementao de cdigos no arquivo
Kernel/Config.pm (recomendado) e no h interface grfica para isso. Com sua
utilizao, possvel inclusive implementar pequenos workflows no sistema.

Nas primeiras verses do OTRS, as ACLs eram implementadas usualmente no


arquivo de configurao do Sistema, o Config.pm.

As verses mais recentes permitem a criao de ACLs a partir da interface, a


sintaxe porm, se mantm muito parecida
Vejamos um exemplo de ACL escrita em arquivo de configurao que restringe um
chamado de prioridade alta (5) para que seja permitido mov-lo apenas para uma
fila chamada Alerta:

# ticket acl
$Self->{TicketAcl}->{'ACL-Nome-2'} = {
# match properties
Properties => {
# current ticket match properties
Ticket => {
Queue => ['Raw'],
Priority => ['5 very high'],
}
},
# return possible options (white list)
Possible => {
# possible ticket options (white list)
Ticket => {
Queue => ['Alerta'],
},
},
};

Neste exemplo, bom que se deixe claro que a nica ao que restringimos foi a
alterao de fila. As outras aes continuam possveis de acordo com as
parametrizaes e permisses do usurio. Por exemplo, ainda possvel adicionar
notas ao chamado, respond-lo, mudar seu status para qualquer um disponvel no
sistema.

Complemento Liberdade e Tecnologia


Tel: +55 (11) 2506-0180 - So Paulo SP - Brasil
possvel notar que existem dois blocos de cdigo neste exemplo acima. O
primeiro com comentrio # match properties a definio das propriedades
atuais do ticket, como se fosse um filtro onde definimos em que ocasies essa ACL
ser aplicada.
No segundo bloco definimos as restries ou permisses que os tickets que
cairem nesta ACL sofrero.
Para criar ACLs atravs da interface do OTRS, acesse Administrao Listas de
Controle de Acesso
Adicione uma nova ACL clicando em Criar nova ACL.
Preencha os campos a seguir:

Dicas:
As ACLs so interpretadas em ordem alfabtica, por tanto, uma ACL que
comece com a letra Z pode invalidar as condies de uma ACL que comea
com a letra A.
Altere a validade da ACL para Vlido
Aps preencher esta tela, clique em Salvar.

Voc ter ento que comear a compor sua ACL na tela abaixo:

Complemento Liberdade e Tecnologia


Tel: +55 (11) 2506-0180 - So Paulo SP - Brasil
Um exemplo:

Vamos entender a seguir, as sees que compe uma ACL.

Sees compe as ACLs

Complemento Liberdade e Tecnologia


Tel: +55 (11) 2506-0180 - So Paulo SP - Brasil
Properties
Aqui definimos os critrios, ou seja, o filtro que definir se esta ACL ser executada
ou no. No exemplo abaixo, definimos que os chamados sero afetados caso o
atendente selecione a prioridade '5 muito alta' na tela em que est.
Properties => {
Ticket => {
Priority => ['5 very high'],
}
},

PropertiesDatabase
Assim como Properties, esta seo um filtro. A diferena entre ambas que
Properties realiza a comparao com os valores que esto na tela, durante uma
modificao por exemplo de valores, reclassificao de chamados etc, enquanto
PropertiesDatabase realiza uma comparao com as informaes que esto no
banco de dados do chamado. No exemplo abaixo, os chamados que possuem
prioridade muito alta sero afetados, independentemente das alteraes em curso
na tela.
PropertiesDatabase => {
Ticket => {
Priority => ['5 very high'],
}
},

Possible
Define quais so os valores que podero ser escolhidos. Outros valores sero
excludos da exibio. No exemplo abaixo, os chamados que corresponderem aos
critrios definidos em Properties ou PropertiesDatabase, podero apenas serem
movidos para a fila 'Alerta' e para nenhuma outra. Lembrando que aqui estamos
restringindo apenas a fila para onde ele poder ser movido, todas as outras
funes tais como criar nota, responder, bloquear, no so afetadas.
Possible => {
Ticket => {
Queue => ['Alerta'],
},
},

PossibleNot
Define os valores que no podero ser exibidos. Todos os outros valores sero. No
exemplo abaixo, os chamados podero ser movidos para quaisquer filas, menos
para a fila Alerta.
PossibleNot => {
Ticket => {
Queue => ['Alerta'],
},

Complemento Liberdade e Tecnologia


Tel: +55 (11) 2506-0180 - So Paulo SP - Brasil
},

Vamos simular ento uma ACL onde o atendente nunca poder fechar um chamado
se o mesmo estiver na fila Raw com prioridade 5. Ficaria assim:

# ticket acl
$Self->{TicketAcl}->{'ACL-Alerta5'} = {
# match properties
Properties => {
# current ticket match properties
Ticket => {
Queue => ['Raw'],
Priority => ['5 very high'],
}
},
# return possible options (white list)
Possible => {
# possible ticket options (white list)
Ticket => {
Queue => ['Raw'],
},
Action => {
AgentTicketClose => 0,
},
},
PossibleNot => {
# possible not ticket options
Ticket => {
State => ['closed successful','closed unsuccessful'],
},
},
};

PossibleAdd
Adiciona valores possveis a um atributo, sem ser restritivo. Um exemplo: permitir
que um usurio encerre o chamado apenas aps este ser classificado:
1. Crie uma ACL que retire os estados [RegExp]^closed usando o PossibleNot.
2. Crie uma ACL que adiciona os mesmos estados usando o PossibleAdd,
quando o servio for definido.

Complemento Liberdade e Tecnologia


Tel: +55 (11) 2506-0180 - So Paulo SP - Brasil
Propriedades
Action

No exemplo acima, vimos o elemento Action. Ele define se uma tela do sistema
ficar disponvel ou no para o atendente. Porm, ela deve ser declarada apenas
na seo Possible, mesmo que o objetivo seja negar a exibio do mdulo. Para
habilitar, coloque o valor 1, para negar, coloque o valor 0, como no exemplo acima:
Action => {
AgentTicketClose => 0,
},

Expresses Regulares
Tambm possvel utilizar expresses regulares. No exemplo abaixo (retirado da
documentao oficial), exibimos apenas servios que comecem com a palavra
Hardware, para um ticket estiver na fila HW ou uma de suas subfilas:

$Self->{TicketAcl}->{'100-Only-Hardware-Services-for-HW-Queues'} = {
# match properties
# note we don't have "Ticket => {" because there's no ticket yet
Properties => {
Queue => {
Name => ['[RegExp]HW'],
}
},
# return possible options
Possible => {
# possible ticket options
Ticket => {
Service => ['[RegExp]^(Hardware)'],
},
},
};

Vale a pena lembrar que os servios comeados com a palavra Hardware


continuaram sendo exibidos em outras filas. Foi utilizando esse tipo de ACL que
constru um mdulo que permite escolher os servios que queremos exibir em cada
uma das filas do sistema.

Complemento Liberdade e Tecnologia


Tel: +55 (11) 2506-0180 - So Paulo SP - Brasil
Parmetros possveis

Veja no link abaixo a referncia de todos os parmetros possveis para as ACLs

http://otrs.github.io/doc/manual/admin/5.0/en/html/customization.
html#acl

Complemento Liberdade e Tecnologia


Tel: +55 (11) 2506-0180 - So Paulo SP - Brasil

Das könnte Ihnen auch gefallen