Pular para o conteúdo principal

Conceitos

Contexto

O Contexto define o escopo onde as permissões se aplicam. É composto pela combinação de:

  • Database: identificador do banco de dados do cliente
  • Entity: identificador da entidade/organização
  • Subcontexto (opcional): dimensão adicional customizável por sistema. Cada aplicação pode definir seus próprios subcontextos para atender necessidades específicas de organização

Acesso

Um Acesso representa a autorização de um usuário para utilizar um sistema em um determinado contexto. Quando um acesso é criado no Gerenciador de Acessos, as permissões são configuradas utilizando o Page Mapping registrado pelo sistema.

Principais Atributos

AtributoDescrição
PermissõesConstraints e AccessControlls configurados via Page Mapping
GruposConjuntos predefinidos de permissões para atribuição facilitada
AdministradorFlag que concede acesso total ao contexto
Data de expiraçãoLimite temporal para validade do acesso
RestriçõesConfigurações de IP, período, MFA e outras políticas de segurança
info

O Page Mapping define quais permissões estão disponíveis para configuração. Quando um administrador cria ou edita um acesso no Gerenciador de Acessos, ele seleciona as permissões dentre as opções definidas no Page Mapping do sistema.

Constraint (Permissão)

Uma Constraint representa uma permissão individual no sistema. Ela define:

CampoTipoDescrição
idStringIdentificador único da permissão
descriptionStringDescrição amigável para exibição no UI
resourcesArrayLista de URLs protegidas por esta permissão
accessControllArrayOperações disponíveis dentro desta permissão

AccessControll (Operação)

Um AccessControll representa uma operação específica dentro de uma permissão. Os IDs são configuráveis por sistema - cada aplicação define seus próprios. Exemplos:

  • create, edit, delete - Padrões CRUD
  • contabilizar - Ação específica de contabilização
  • processar - Ação de processamento
  • cancel - Ação de cancelamento

Resource (Recurso)

Um Resource define uma URL que requer permissão para acesso:

CampoTipoDescrição
urlPatternStringPadrão de URL (suporta regex)
methodsArrayMétodos HTTP que requerem permissão
accessControllStringID do AccessControll necessário (null = apenas constraint)

Padrões de URL suportados (regex):

PadrãoDescriçãoExemplo
/pathURL exata/api/pessoas
/path/.*Wildcard/api/pessoas/123
/path/.*/subpathWildcard no meio/api/pessoas/123/documentos

Group (Grupo)

Um Group organiza constraints logicamente para facilitar a gestão no UI:

{
"id": "cadastros",
"description": "Cadastros",
"constraints": ["cadastro-pessoas", "cadastro-empresas"]
}
NOTA

Grupos servem apenas para organização visual. Mover constraints entre grupos não afeta as permissões já configuradas.