Pular para conteúdo

Histórias de Usuário - Módulo de Controle de Acesso (RBAC)

Sumário

  • [US-RBAC-001] Cadastro de novos usuários
  • [US-RBAC-002] Edição de dados de usuários
  • [US-RBAC-003] Desativação de usuários
  • [US-RBAC-004] Criação de papéis personalizados
  • [US-RBAC-005] Atribuição de permissões a papéis
  • [US-RBAC-006] Atribuição de papéis a usuários
  • [US-RBAC-007] Configuração de autenticação em dois fatores
  • [US-RBAC-008] Recuperação de senha
  • [US-RBAC-009] Consulta de logs de auditoria de acesso
  • [US-RBAC-010] Gestão de sessões ativas
  • [US-RBAC-011] Validar operações sensíveis com hierarquia

[US-RBAC-001] Cadastro de novos usuários

Como Administrador do sistema,
quero cadastrar novos usuários,
para que eles possam acessar o sistema com as permissões adequadas ao seu perfil.

Detalhes

  • O cadastro deve ser feito na interface administrativa
  • Todos os usuários precisam ter um perfil atribuído no momento do cadastro
  • Dados mínimos necessários: nome, e-mail, senha

Critérios de Aceitação

  1. Dado que estou na seção de administração de usuários, quando clico em "Novo Usuário", então devo visualizar um formulário com campos para nome, e-mail, senha e seleção de perfil.
  2. Dado que preenchi o formulário com dados válidos, quando clico em "Salvar", então o sistema deve criar o usuário e exibir mensagem de sucesso.
  3. Dado que tentei cadastrar um e-mail já existente, quando clico em "Salvar", então devo receber uma mensagem de erro informando que o e-mail já está em uso.
  4. Dado que preenchi uma senha que não atende aos critérios de segurança, quando clico em "Salvar", então devo receber orientações sobre os requisitos mínimos de senha.
  5. Dado que estou cadastrando um usuário, quando seleciono a fazenda a qual ele pertence, então somente os perfis disponíveis para essa fazenda devem ser listados.

Referências

  • RF: RF-RBAC-003
  • RNF: RNF-RBAC-002, RNF-RBAC-004
  • RN: RN-RBAC-001

Resolve o(s) problema(s)

  • Controle granular e seguro de acesso
  • Redução de erros operacionais por acesso indevido

Observações

  • Considerar integração com processo de onboarding de novos funcionários

Informações Técnicas

  • Estimativa de Pontos: [A ser definido durante o Planning]
  • Módulo: RBAC
  • Complexidade: Média
  • Prioridade: Alta

[US-RBAC-002] Edição de dados de usuários

Como Administrador do sistema,
quero editar informações dos usuários existentes,
para que possa manter os dados atualizados e corrigir informações quando necessário.

Detalhes

  • Deve ser possível editar dados cadastrais e alterar o perfil do usuário
  • A edição de usuários deve gerar registro na auditoria

Critérios de Aceitação

  1. Dado que estou na lista de usuários, quando seleciono a opção de editar um usuário, então devo ver um formulário preenchido com os dados atuais do usuário.
  2. Dado que alterei os dados de um usuário, quando clico em "Salvar", então as alterações devem ser persistidas e uma mensagem de sucesso exibida.
  3. Dado que alterei o perfil de um usuário, quando confirmo a alteração, então o sistema deve registrar esta ação no log de auditoria.
  4. Dado que estou editando um usuário, quando tento mudar seu e-mail para um já existente no sistema, então devo ver uma mensagem de erro.
  5. Dado que estou editando um usuário, quando tento salvar sem preencher campos obrigatórios, então devo receber alertas de validação.

Referências

  • RF: RF-RBAC-003
  • RNF: RNF-RBAC-002
  • RN: RN-RBAC-001

Resolve o(s) problema(s)

  • Manutenção de dados cadastrais atualizados
  • Correção de informações incorretas sem necessidade de intervenção técnica

Observações

  • Importante para gestão de turnover de funcionários nas fazendas

Informações Técnicas

  • Estimativa de Pontos: [A ser definido durante o Planning]
  • Módulo: RBAC
  • Complexidade: Média
  • Prioridade: Alta

[US-RBAC-003] Desativação de usuários

Como Administrador do sistema,
quero desativar usuários que não precisam mais de acesso,
para que possa manter a segurança do sistema e o controle de quem pode acessá-lo.

Detalhes

  • A desativação não deve apagar os dados do usuário, apenas impedir seu acesso
  • Deve ser possível reativar um usuário desativado
  • A ação deve ser registrada na auditoria

Critérios de Aceitação

  1. Dado que estou na lista de usuários, quando seleciono a opção de desativar um usuário, então devo ver uma confirmação antes de prosseguir.
  2. Dado que confirmei a desativação, quando o processo for concluído, então o usuário deve ter seu status alterado para "Inativo" e não conseguir mais fazer login.
  3. Dado que um usuário está desativado, quando tento reativá-lo, então seu status deve mudar para "Ativo" e ele deve poder acessar o sistema novamente.
  4. Dado que desativei um usuário, quando verifico o log de auditoria, então deve haver um registro desta ação com data, hora e administrador responsável.

Referências

  • RF: RF-RBAC-003
  • RNF: RNF-RBAC-002

Resolve o(s) problema(s)

  • Aumento da segurança ao revogar acessos desnecessários
  • Conformidade com políticas de segurança da informação

Observações

  • A desativação deve ser preferida à exclusão para manter histórico e auditoria

Informações Técnicas

  • Estimativa de Pontos: [A ser definido durante o Planning]
  • Módulo: RBAC
  • Complexidade: Baixa
  • Prioridade: Alta

[US-RBAC-004] Criação de papéis personalizados

Como Administrador do sistema,
quero criar papéis (roles) personalizados,
para que possa definir conjuntos específicos de permissões adequados às necessidades da fazenda.

Detalhes

  • Deve ser possível criar papéis além dos predefinidos pelo sistema
  • Os papéis personalizados devem ter nome e descrição
  • Deve ser possível duplicar papéis existentes como base para novos papéis

Critérios de Aceitação

  1. Dado que estou na seção de gestão de papéis, quando clico em "Novo Papel", então devo ver um formulário para criar um papel com nome, descrição e seleção de permissões.
  2. Dado que preenchi os dados do novo papel, quando clico em "Salvar", então o papel deve ser criado e aparecer na lista de papéis disponíveis.
  3. Dado que estou visualizando um papel existente, quando clico em "Duplicar", então devo ver um novo formulário preenchido com os mesmos dados e permissões do papel original.
  4. Dado que estou criando um papel, quando seleciono permissões para ele, então devo poder visualizar as permissões agrupadas por módulo ou funcionalidade para facilitar a seleção.
  5. Dado que há um papel predefinido pelo sistema, quando tento editá-lo, então devo receber um alerta indicando que apenas a duplicação é permitida, conforme a regra de negócio RN-RBAC-002.

Referências

  • RF: RF-RBAC-004
  • RN: RN-RBAC-002

Resolve o(s) problema(s)

  • Flexibilidade na definição de perfis de acordo com estrutura organizacional específica de cada fazenda
  • Redução da necessidade de customização em código para novos perfis

Observações

  • Considerar necessidades específicas para diferentes tipos de propriedades (gado de corte vs leite)

Informações Técnicas

  • Estimativa de Pontos: [A ser definido durante o Planning]
  • Módulo: RBAC
  • Complexidade: Alta
  • Prioridade: Alta

[US-RBAC-005] Atribuição de permissões a papéis

Como Administrador do sistema,
quero atribuir permissões específicas a cada papel,
para que possa controlar de forma granular o acesso às funcionalidades do sistema.

Detalhes

  • As permissões devem ser organizadas por módulo e funcionalidade para facilitar a atribuição
  • Deve ser possível definir o nível de acesso (leitura, criação, edição, exclusão) para cada entidade
  • O sistema deve mostrar claramente o impacto das permissões selecionadas

Critérios de Aceitação

  1. Dado que estou editando um papel, quando abro a seção de permissões, então devo ver as permissões organizadas por módulo e funcionalidade.
  2. Dado que estou na tela de atribuição de permissões, quando seleciono um módulo, então devo ver todas as entidades e operações disponíveis para aquele módulo.
  3. Dado que atribuo permissões a um papel, quando salvo as alterações, então o sistema deve atualizar imediatamente os direitos de acesso de todos os usuários que possuem aquele papel.
  4. Dado que estou atribuindo permissões, quando passo o mouse sobre uma permissão, então devo ver uma descrição detalhada do que ela permite fazer no sistema.
  5. Dado que estou configurando permissões, quando marco a opção de acesso offline para uma permissão, então esta deve ficar disponível para usuários em modo offline, conforme a regra RN-RBAC-003.

Referências

  • RF: RF-RBAC-001, RF-RBAC-002, RF-RBAC-004
  • RN: RN-RBAC-003
  • RNF: RNF-RBAC-003

Resolve o(s) problema(s)

  • Controle granular de acesso às funcionalidades
  • Redução de riscos operacionais por ações indevidas
  • Interface mais simples e personalizada por perfil

Observações

  • Permissões podem ser agrupadas por áreas funcionais para facilitar atribuição
  • Considerar requisitos específicos para operação offline

Informações Técnicas

  • Estimativa de Pontos: [A ser definido durante o Planning]
  • Módulo: RBAC
  • Complexidade: Alta
  • Prioridade: Alta

[US-RBAC-006] Atribuição de papéis a usuários

Como Administrador do sistema,
quero atribuir papéis aos usuários,
para que eles tenham acesso apenas às funcionalidades necessárias para suas atividades.

Detalhes

  • Um usuário só pode ter um papel ativo conforme a regra RN-RBAC-001
  • A atribuição de papel deve ser possível tanto no cadastro quanto na edição do usuário
  • O sistema deve registrar o histórico de alterações de papel

Critérios de Aceitação

  1. Dado que estou editando um usuário, quando seleciono a seção de perfil, então devo ver uma lista dos papéis disponíveis para atribuição.
  2. Dado que atribuo um papel a um usuário, quando confirmo a operação, então o sistema deve atualizar as permissões do usuário e registrar esta ação no log de auditoria.
  3. Dado que um usuário já possui um papel e tento atribuir outro, quando confirmo a operação, então o sistema deve substituir o papel anterior pelo novo, respeitando a regra RN-RBAC-001.
  4. Dado que estou na tela de atribuição de papel, quando seleciono um papel, então devo ver uma prévia das permissões que serão concedidas ao usuário.

Referências

  • RF: RF-RBAC-001, RF-RBAC-002, RF-RBAC-004
  • RN: RN-RBAC-001
  • RNF: RNF-RBAC-002

Resolve o(s) problema(s)

  • Controle centralizado de quem pode acessar cada funcionalidade
  • Simplificação da gestão de acessos por agrupamento em papéis

Observações

  • A transição de papéis deve considerar sincronização em modo offline

Informações Técnicas

  • Estimativa de Pontos: [A ser definido durante o Planning]
  • Módulo: RBAC
  • Complexidade: Média
  • Prioridade: Alta

[US-RBAC-007] Configuração de autenticação em dois fatores

Como Administrador do sistema,
quero configurar a autenticação em dois fatores por perfil de usuário,
para que possa adicionar uma camada extra de segurança para funções críticas do sistema.

Detalhes

  • Deve ser possível habilitar 2FA para perfis específicos
  • O usuário deve poder escolher entre diferentes métodos (app autenticador, SMS)
  • O sistema deve guiar o usuário no processo de configuração

Critérios de Aceitação

  1. Dado que estou nas configurações de segurança, quando habilito 2FA para um determinado perfil, então todos os usuários daquele perfil devem ser notificados para configurar 2FA no próximo login.
  2. Dado que sou um usuário com 2FA habilitado para meu perfil, quando faço login com credenciais corretas, então devo ser solicitado a fornecer um segundo fator de autenticação.
  3. Dado que estou configurando 2FA pela primeira vez, quando escolho o método de app autenticador, então devo ver um QR code para escanear e campos para validação do código.
  4. Dado que estou configurando 2FA por SMS, quando insiro meu número de telefone, então devo receber um código de verificação para confirmar a configuração.
  5. Dado que perdi meu dispositivo 2FA, quando uso o processo de recuperação, então devo poder recuperar acesso através de códigos de backup ou processo de recuperação alternativo.

Referências

  • RF: RF-RBAC-005, RF-RBAC-007
  • RNF: RNF-RBAC-004

Resolve o(s) problema(s)

  • Aumento da segurança para funções críticas
  • Redução de riscos de acesso não autorizado
  • Conformidade com boas práticas de segurança

Observações

  • Considerar alternativas para áreas com conectividade limitada
  • Implementação gradual por perfil, priorizando administradores e perfis com acesso a dados sensíveis

Informações Técnicas

  • Estimativa de Pontos: [A ser definido durante o Planning]
  • Módulo: RBAC
  • Complexidade: Alta
  • Prioridade: Média

[US-RBAC-008] Recuperação de senha

Como Usuário do sistema,
quero recuperar minha senha quando a esquecer,
para que possa restaurar meu acesso ao sistema de forma segura e autônoma.

Detalhes

  • O processo deve ser seguro e verificar a identidade do usuário
  • Deve funcionar em áreas com conectividade limitada, quando possível
  • As etapas devem ser claras e guiar o usuário no processo

Critérios de Aceitação

  1. Dado que esqueci minha senha, quando clico em "Esqueci minha senha" na tela de login, então devo ver um campo para inserir meu e-mail.
  2. Dado que inseri meu e-mail registrado, quando submeto o formulário, então devo receber um link de recuperação por e-mail com prazo de expiração (24 horas).
  3. Dado que recebi o link de recuperação, quando clico nele, então devo ser direcionado a uma página segura para definir uma nova senha.
  4. Dado que estou definindo uma nova senha, quando insiro uma senha que não atende aos critérios de segurança, então devo receber feedback imediato sobre os requisitos não atendidos.
  5. Dado que defini uma nova senha válida, quando confirmo a alteração, então devo poder fazer login com a nova senha imediatamente.
  6. Dado que recuperei minha senha, quando faço login com a nova senha, então o sistema deve registrar esta atividade no log de auditoria.
  7. Dado que estou em uma área com conectividade limitada, quando tento recuperar minha senha, então devo ter acesso a métodos alternativos de recuperação, como perguntas de segurança previamente configuradas.

Referências

  • RF: RF-RBAC-008
  • RNF: RNF-RBAC-003, RNF-RBAC-004

Resolve o(s) problema(s)

  • Bloqueio de acesso por esquecimento de senha
  • Redução no suporte técnico para resets de senha
  • Autonomia do usuário para resolver problemas de acesso

Observações

  • Considerar tempo de expiração do link e checagem de segurança
  • Implementar métodos alternativos para áreas sem conectividade

Informações Técnicas

  • Estimativa de Pontos: [A ser definido durante o Planning]
  • Módulo: RBAC
  • Complexidade: Média
  • Prioridade: Alta

[US-RBAC-009] Consulta de logs de auditoria de acesso

Como Administrador do sistema,
quero consultar os logs de tentativas de acesso, login e logout,
para que possa monitorar a segurança do sistema e identificar possíveis tentativas de acesso não autorizado.

Detalhes

  • Os logs devem incluir data, hora, usuário, IP, dispositivo e resultado da operação
  • Deve ser possível filtrar por diferentes critérios (período, usuário, tipo de evento)
  • Os logs devem ser retidos conforme política definida (12 meses)

Critérios de Aceitação

  1. Dado que estou na seção de auditoria de acessos, quando abro a página, então devo ver uma lista paginada de eventos de acesso ordenados por data (mais recente primeiro).
  2. Dado que estou visualizando a lista de eventos, quando aplico filtros por período, usuário e/ou tipo de evento, então a lista deve ser atualizada para mostrar apenas os resultados correspondentes.
  3. Dado que existem eventos de tentativas de acesso malsucedidas, quando visualizo a lista, então devo ver esses eventos destacados com informações sobre o motivo da falha.
  4. Dado que quero analisar os padrões de acesso de um usuário específico, quando seleciono esse usuário no filtro, então devo ver um resumo estatístico de seus acessos além da lista detalhada.
  5. Dado que preciso extrair os logs para análise externa, quando clico em "Exportar", então devo poder baixar os dados filtrados em formatos padrão (CSV, PDF).
  6. Dado que estou visualizando logs que incluem acessos realizados em modo offline, quando examino esses registros, então devo ver claramente identificados quais foram sincronizados posteriormente e quando ocorreu a sincronização.

Referências

  • RF: RF-RBAC-006
  • RNF: RNF-RBAC-002, RNF-RBAC-005

Resolve o(s) problema(s)

  • Auditoria de eventos sensíveis
  • Detecção de tentativas de acesso não autorizado
  • Conformidade com boas práticas de segurança
  • Evidência para investigações de segurança

Observações

  • Considerar mecanismos de alertas para tentativas de acesso suspeitas
  • Implementar visualizações gráficas para facilitar análise de padrões

Informações Técnicas

  • Estimativa de Pontos: [A ser definido durante o Planning]
  • Módulo: RBAC
  • Complexidade: Média
  • Prioridade: Alta

[US-RBAC-010] Gestão de sessões ativas

Como Administrador do sistema,
quero visualizar e gerenciar as sessões ativas dos usuários,
para que possa encerrar sessões suspeitas ou inativas por longos períodos.

Detalhes

  • O sistema deve mostrar todas as sessões ativas por usuário
  • Deve ser possível encerrar sessões individualmente ou em grupo
  • Informações como dispositivo, localização e tempo de atividade devem ser exibidas

Critérios de Aceitação

  1. Dado que estou na seção de gestão de sessões, quando abro a página, então devo ver uma lista de todas as sessões ativas no sistema, com informações de usuário, horário de início, dispositivo e IP.
  2. Dado que estou visualizando as sessões ativas, quando seleciono uma sessão específica, então devo ver detalhes adicionais como navegador, sistema operacional e localização aproximada.
  3. Dado que identifico uma sessão suspeita, quando clico em "Encerrar Sessão", então a sessão deve ser terminada imediatamente e o usuário afetado deve ser desconectado.
  4. Dado que preciso encerrar múltiplas sessões, quando seleciono várias sessões e clico em "Encerrar Selecionadas", então todas as sessões selecionadas devem ser encerradas.
  5. Dado que encerrei uma sessão de usuário, quando verifico o log de auditoria, então deve haver um registro desta ação administrativa.
  6. Dado que quero definir políticas de expiração automática, quando acesso as configurações de sessão, então devo poder definir o tempo máximo de inatividade antes do encerramento automático de sessão.

Referências

  • RF: RF-RBAC-001 (implícito como parte do controle de acesso)
  • RNF: RNF-RBAC-003, RNF-RBAC-004

Resolve o(s) problema(s)

  • Aumento da segurança
  • Evita uso indevido simultâneo em múltiplos dispositivos
  • Detecção de compartilhamento não autorizado de credenciais

Observações

  • Permitir exceções para usuários que precisam acessar múltiplos dispositivos simultaneamente
  • Implementar notificações de encerramento de sessão para usuários

Informações Técnicas

  • Estimativa de Pontos: [A ser definido durante o Planning]
  • Módulo: RBAC
  • Complexidade: Média
  • Prioridade: Média

[US-RBAC-011] Validar operações sensíveis com hierarquia

Como Gerente,
quero aprovar ações críticas realizadas por usuários de níveis inferiores,
para que possa garantir segurança e responsabilidade em operações importantes.

Detalhes

  • O sistema deve identificar operações sensíveis que requerem aprovação
  • As solicitações de aprovação devem ser notificadas ao gestor responsável
  • O histórico de aprovações/rejeições deve ser mantido para auditoria

Critérios de Aceitação

  1. Dado que um usuário de nível inferior tenta realizar uma ação sensível, quando o sistema detecta essa ação, então deve solicitar validação por um perfil superior antes de concluir a operação.
  2. Dado que uma solicitação de aprovação foi criada, quando um gestor acessa o sistema, então ele deve ver claramente as solicitações pendentes em um painel de notificações.
  3. Dado que um gestor está avaliando uma solicitação, quando decide aprová-la ou rejeitá-la, então o sistema deve registrar essa decisão e notificar o solicitante.
  4. Dado que uma operação sensível foi aprovada, quando o sistema processa a operação, então ela deve ser executada normalmente e registrada no log de auditoria com indicação da aprovação.
  5. Dado que uma solicitação está pendente por mais de 48 horas, quando o sistema verifica o status, então deve enviar um lembrete ao gestor responsável.

Referências

  • RF: RF-RBAC-006
  • RNF: RNF-RBAC-002
  • RN: RN-RBAC-004

Resolve o(s) problema(s)

  • Evita ações indevidas por usuários com menor nível de autorização
  • Garante rastreabilidade e controle de operações críticas
  • Distribui responsabilidade em ações sensíveis

Observações

  • Importante para operações financeiras e alterações em cadastros críticos
  • Considerar fluxo alternativo para aprovações em situações sem conectividade

Informações Técnicas

  • Estimativa de Pontos: [A ser definido durante o Planning]
  • Módulo: RBAC
  • Complexidade: Média
  • Prioridade: Alta