Pular para o conteúdo

Permissões e papéis

O controle de acesso tem quatro eixos independentes, e confundi-los é a origem de quase toda dúvida de configuração:

EixoPergunta que responde
PapelQual o piso hierárquico da pessoa?
PermissãoQue áreas ela vê, e pode editar?
EscopoDe quais setores ela vê os dados?
CapacidadeQue ações sensíveis ela pode executar?

Alguém pode ter permissão para o módulo de chamados, não ter escopo em setor algum, e portanto ver apenas os próprios chamados. Isso não é defeito: é o desenho.

Quatro, em ordem crescente:

PapelSignificado
userColaborador. Pode ter escopo e atender fila.
group_adminAdministra o próprio grupo, nos módulos delegados a ele.
adminPapel elevado, mas não administrador da plataforma.
super_adminAdministra a plataforma.

Em instalação com diretório, o papel é reavaliado a cada login a partir dos grupos. Tirar alguém do grupo o rebaixa no próximo acesso, sem intervenção no produto.

Cada permissão tem três níveis: nenhum, ver e editar. A concessão é por usuário ou por grupo, e o resultado é a união das camadas — com uma exceção que importa: uma negação explícita vence. Conceder editar em um grupo e negar no usuário resulta em negado.

Sub-abas herdam do módulo. Pedir permissão de backups.restore sobe a cadeia até encontrar a primeira definição explícita — e o primeiro nível explícito na cadeia vence, inclusive quando esse nível é “nenhum”.

Dois módulos herdam de settings por retrocompatibilidade: quem tinha acesso a Configurações continuou com Ativos e Backups quando eles foram criados.

Duas raízes não exigem concessão:

  • mensageria em nível de edição — é o módulo em torno do qual o produto começou. Um administrador pode negar uma sub-aba específica.
  • tickets em nível de ver — o portal de autoatendimento é para todo colaborador. Um helpdesk em que a pessoa precisa de permissão para pedir ajuda não é um helpdesk.

Ver em tickets não dá acesso à fila. Atender exige nível de edição mais escopo de setor.

Onde o dado pertence a um setor, a permissão é composta: a chave do módulo mais o setor, na forma modulo:setor. Quatro raízes são escopáveis: chamados, ativos, manutenção de endpoints e chatbots.

Sem escopo, a pessoa vê o que é dela — os próprios chamados, e nada da fila. Com escopo em dois setores, vê exatamente esses dois. O filtro é aplicado no servidor: não é a interface que esconde, é a consulta que não traz.

É isso que torna a instalação multi-cliente viável sem uma cópia do produto por cliente.

Duas permissões do módulo de manutenção não herdam da base, e a exceção é o ponto principal do desenho:

ChaveConcede
manutencaoVer os hosts do escopo
manutencao.remotoEntrar na máquina: sessão remota, terminal, SSH, explorador de arquivos
manutencao.softwareAlterar a máquina: instalar e remover software, limpeza, scripts

Se manutencao.remoto herdasse de manutencao, dar visibilidade da frota daria também acesso remoto — e a única forma de separar seria uma interface de negação, mais fácil de errar. Como concessão explícita, o padrão é negar: quem recebe manutencao vê e não entra.

Dezoito permissões são exclusivas de super_admin, mesmo quando concedidas a outra pessoa. A permissão continua existindo na árvore — o nó aparece, e pode ser marcado — mas o servidor recusa.

Cobre: identidade e acesso, grupos, registros, integrações, toda a auditoria e todas as configurações.

A razão de existir: auditoria acessível a quem administra apenas um setor deixa de ser auditoria. E o piso é aplicado em um único ponto no servidor, em vez de espalhado por dezenas de guardas — o que significa que uma rota nova nasce protegida em vez de depender de alguém lembrar.

O papel group_admin administra, dentro do escopo do próprio grupo, os módulos delegados a ele — por padrão chamados, ativos, manutenção e chatbots. Um grupo pode definir a própria lista.

Fora da delegação, de propósito: identidade, grupos, e as capacidades de acesso remoto e software. Um administrador de setor gere o trabalho do setor, não a plataforma nem o que entra nas máquinas.

Extraído do módulo de controle de acesso do produto em execução — não de uma descrição de segunda mão. A coluna “Sem concessão” é o nível efetivo para quem não recebeu concessão alguma: o que um usuário recém-criado enxerga.

PermissãoHerda deSem concessãoRestrições
audit.mensagens—nenhumsó super admin
audit.impressoes—nenhumsó super admin
audit.prints—nenhumsó super admin
dashboards—nenhum
chatbots—nenhumescopável por setor
templates—nenhum
schedules—nenhum
integrations—nenhumsó super admin
logs—nenhumsó super admin
settings—nenhumsó super admin
iam—nenhumsó super admin
groups—nenhumsó super admin
mensageria—editarliberada por padrão
mensageria.instanciasmensageriaeditar
mensageria.agendamensageriaeditar
backupssettingsnenhum
backups.jobsbackupsnenhum
backups.schedulebackupsnenhum
backups.restorebackupsnenhum
backups.destinationsbackupsnenhum
ativossettingsnenhumescopável por setor
ativos.computadoresativosnenhum
ativos.itensativosnenhum
ativos.manutencaoativosnenhum
ativos.auditoriaativosnenhum
ativos.cadastrosativosnenhum
ativos.fornecedoresativosnenhum
ativos.kitsativosnenhum
ativos.alertasativosnenhum
ativos.importarativosnenhum
ativos.solicitacoesativosnenhum
ativos.responsaveisativosnenhum
ativos.emprestimosativosnenhum
ativos.relatoriosativosnenhum
manutencao—nenhumescopável por setor
manutencao.remoto—nenhum
manutencao.software—nenhum
fileserver—nenhum
tickets—verescopável por setorliberada por padrão
settings.suitesettingsnenhumsó super admin
settings.ldapsettingsnenhumsó super admin
settings.otpsettingsnenhumsó super admin
settings.notificationssettingsnenhumsó super admin
settings.servicedesksettingsnenhumsó super admin
settings.datasettingsnenhumsó super admin
settings.localizacaosettingsnenhumsó super admin
settings.apisettingsnenhumsó super admin
settings.storagesettingsnenhumsó super admin
settings.connectionssettingsnenhumsó super admin

49 permissões. Extraído de server/lib/permissions.mjs.

O jeito mais rápido de conferir uma configuração é entrar com a conta em questão: a interface reflete a permissão efetiva. Pela API, a rota de sessão devolve as permissões resolvidas da conta autenticada — útil para depurar herança sem tentativa e erro.