Pular para o conteúdo principal

Permissões

O Keycloak autentica usuários e concede papéis de entrada no Event Manager. As permissões administrativas de negócio são avaliadas pelo próprio Event Manager a partir de concessões gravadas no banco de dados.

Não crie papéis de Keycloak para permissões como event#read, subscription#import ou receipt#approve. Essas permissões pertencem ao catálogo do Event Manager e devem ser concedidas pelo painel de pessoas.

Também não configure recursos, escopos ou políticas do Keycloak Authorization Services para permissões administrativas humanas. Para o cliente do Event Manager, os únicos client roles humanos esperados são access e super-admin.

Demais permissões devem ser database-driven, pois o Event Manager precisa avaliar o escopo de cada concessão no momento da ação. Por exemplo, um usuário pode ter event#update para um evento, mas não para outro.

Papéis usados no Keycloak

PapelUso
accessClient role do cliente Keycloak do Event Manager. Libera a entrada no sistema. Sem esse papel, o usuário não deve acessar operações administrativas, mesmo que existam concessões no banco.
super-adminClient role do cliente Keycloak do Event Manager. Bypass administrativo. Autoriza todas as permissões do Event Manager e deve ser restrito a poucos responsáveis.
Papéis M2MUsados por contas de serviço em endpoints internos, como integrações de LGPD, votação, perfil ou mesclagem de contas. Não substituem permissões humanas do painel.

O papel access é a porta de entrada. O que a pessoa pode fazer depois disso depende das concessões do Event Manager, exceto quando ela possui super-admin.

Onde alterar permissões

Use o painel administrativo:

  1. Acesse a "Área Restrita".
  2. Abra "Pessoas".
  3. Selecione a pessoa com usuário vinculado.
  4. Edite a seção "Permissões do Event Manager".

Veja o procedimento completo em Concessão de permissões.

Página de diagnóstico

No painel administrativo, a página de permissões mostra os acessos reconhecidos para o usuário logado. Ela é útil para diagnosticar problemas, mas não concede permissões.

A avaliação dessa página considera as concessões ativas do Event Manager. Para operações sobre recursos específicos, o backend revalida o escopo no momento da ação.

Formato

As permissões do Event Manager seguem o formato:

recurso#ação

Exemplos:

  • event#read;
  • event#create;
  • event#update;
  • event#delete.

O catálogo completo fica no código compartilhado do Event Manager, em libs/shared-permissions. A interface administrativa usa esse catálogo para montar grupos, rótulos, presets e mensagens de dados incluídos.

Nem todo recurso possui todas as ações. Algumas telas também exigem combinações de permissões, pois precisam consultar dados relacionados.

Recursos congelados

Permissões de frozen permitem editar ou excluir registros antigos protegidos pelo sistema.

Conceda essas permissões apenas a administradores que precisam fazer correções históricas, pois alterações em recursos antigos podem afetar certificados, presenças, inscrições, comprovantes e auditoria.

Solução de problemas

Se uma pessoa não consegue acessar uma tela:

  • Confirme se ela possui access no cliente Keycloak do Event Manager;
  • Confirme se ela não depende de super-admin por engano;
  • Confirme se existe concessão ativa no painel de pessoas;
  • Confira se a validade da concessão não expirou;
  • Confira se o escopo da concessão cobre o evento, grupo ou grande evento acessado;
  • Confira se a tela exige permissões de dados relacionados, como leitura de eventos ou pessoas.