Referência Técnica

Gerenciamento de Grupos

Grupos permitem organizar usuários e atribuir permissões coletivamente. Um role atribuído ao grupo é herdado por todos os membros — sem necessidade de atribuição individual.

O que são grupos?

Grupos são coleções nomeadas de usuários dentro de um tenant. Eles funcionam como intermediários no modelo de permissões: roles são atribuídos ao grupo, e os membros herdam essas permissões automaticamente via Keto.

Internamente, o Keto armazena tuplas group:nome#member@user:id para membros e group:nome#admin@role:id para roles. A resolução de permissões efetivas atravessa essas relações em O(1).

Permissão coletiva

Atribua um role a um grupo e todos os membros herdam as permissões automaticamente. Escala bem — adicionar um usuário ao grupo é suficiente.

MFA obrigatório por grupo

Grupos marcados como MFA-required forçam AAL2 nos membros, independentemente da configuração global do tenant.

Controle de acesso por departamento

Crie grupos que espelham departamentos (TI, Financeiro, RH) e atribua políticas ABAC baseadas no departamento do usuário.

Gestão de times de projeto

Grupos temporários para projetos. Ao encerrar o projeto, remova o grupo — as permissões dos membros são revogadas imediatamente.

Criar grupo

Admin Console → Identidades → Grupos → Criar Novo Grupo.

Campos do formulário

Nome (slug)obrigatório

Identificador único do grupo no tenant. Imutável após criação. Ex: "managers", "dev-team".

Nome de exibiçãoobrigatório

Rótulo legível exibido na interface. Pode ser alterado a qualquer momento.

Descriçãoopcional

Texto explicativo sobre o propósito do grupo.

Nome imutável

O slug (nome identificador) não pode ser alterado após a criação. Escolha um nome descritivo e estável, pois ele é referenciado nas tuplas Keto.

Convenção de nomes

dev-team
finance-managers
project-alpha-2026
Dev Teamsem espaços
adminreservado para roles

Gerenciar membros

Acesse o grupo e use o dialog "Gerenciar Membros" para adicionar ou remover usuários.

Adicionar membros

  • Busque usuários por nome ou e-mail no dialog de membros
  • Múltiplos usuários podem ser adicionados de uma vez
  • O sentinel-core escreve a tupla no Keto imediatamente
  • O usuário herda os roles do grupo na próxima verificação de acesso
  • Não há limite de membros por grupo

Remover membros

  • ·Clique no ícone de remoção ao lado do usuário no dialog
  • ·A tupla Keto é excluída imediatamente
  • ·Permissões herdadas do grupo são revogadas em tempo real
  • ·Sessões ativas do usuário NÃO são revogadas automaticamente
  • ·Para forçar reautenticação, revogue as sessões manualmente

Atribuir roles ao grupo

Roles atribuídos ao grupo são herdados por todos os membros.

Como atribuir

1

Acesse o grupo no Admin Console.

2

Na seção "Roles", clique em "Adicionar Role".

3

Selecione um ou mais roles da lista de roles do tenant.

4

Confirme. O sentinel-core atualiza as tuplas Keto imediatamente.

Atribuição direta vs. via grupo

Atribuição direta (usuário ↔ role)

Funciona, mas escala mal. Para 100 usuários, são 100 atribuições manuais. Difícil de auditar e revogar em massa.

Via grupo (usuário → grupo → role) ✓ Recomendado

1 atribuição de role ao grupo serve todos os membros. Remover o role do grupo revoga para todos instantaneamente.

Como as permissões se propagam

A cadeia de resolução de acesso do Keto para um membro de grupo.

1

Role atribuído ao grupo

Admin atribui o role "editor" ao grupo "dev-team". O sentinel-core escreve a tupla no Keto: group:dev-team#admin@role:editor.

2

Usuário adicionado ao grupo

Admin adiciona o usuário ao grupo. Tupla criada no Keto: group:dev-team#member@user:uuid-do-usuario.

3

Query de permissão

Ao verificar se o usuário tem a permissão "resources:update", o Keto resolve a cadeia: user → group:dev-team → role:editor → permission:resources:update.

4

Acesso concedido

A query retorna allowed=true. O usuário não precisa ter o role atribuído diretamente — a herança via grupo é suficiente.

Cadeia de tuplas Keto (exemplo)

group:dev-team # member @ user:uuid-001

group:dev-team # admin @ role:editor

role:editor # granted @ permission:resources:update

→ user:uuid-001 tem resources:update via group:dev-team → role:editor

Grupos com MFA obrigatório

Grupos podem exigir AAL2 de seus membros independentemente da configuração global do tenant.

Quando usar

  • ·Equipe de TI / admins — acesso a recursos sensíveis
  • ·Grupo Financeiro — aprovações e relatórios
  • ·Equipe de segurança — auditoria e compliance
  • ·Qualquer grupo com acesso a dados confidenciais

Como funciona

Ao marcar o grupo como MFA-required nas configurações do tenant, o sentinel-login verifica o nível AAL da sessão. Se AAL1, solicita o segundo fator antes de prosseguir — mesmo que o MFA global esteja desativado.

Métodos aceitos: TOTP, WebAuthn/Passkeys ou backup codes. O usuário precisa ter pelo menos um método cadastrado.

Excluir grupo

O que acontece ao excluir

  • ·O grupo é removido permanentemente
  • ·Todas as tuplas Keto do grupo são excluídas
  • ·Membros perdem todas as permissões herdadas do grupo
  • ·Permissões atribuídas diretamente ao usuário não são afetadas
  • ·Sessões ativas dos membros NÃO são revogadas automaticamente

Ação irreversível

Antes de excluir um grupo ativo:

  • ·Verifique se membros precisam dos roles atribuídos via este grupo
  • ·Atribua roles diretamente aos usuários afetados, se necessário
  • ·Considere remover todos os membros antes de excluir

Próximas leituras