ESPECIFICAÇÃO TÉCNICA 005: ATRIBUIR PERMISSÃO DE ACESSO
ETE: | 005 |
---|---|
Título: | Atribuir Permissão de Acesso |
Autor: | Samara Delboni samara.delboni@saude.gov.br |
Autor: | Viviane Alves alves.viviane@saude.gov.br |
Autor: | Alexandre Lage alexandre.lage@saude.gov.br |
Revisor: | Jessé Azevêdo jesse.azevedo@saude.gov.br |
Status: | Em validação |
Versão: | 1.0 |
Histórico de Revisões
Versão | Data | Autor | Descrição |
---|---|---|---|
1.0 | 14/08/2024 | Samara Delboni | Criação do documento |
1.1 | 10/04/2025 | Jessé Azevêdo | Atualização do documento |
História de Usuário
Como usuário quero atribuir um perfil de acesso às funcionalidades do sistema para outro usuário.
Motivação
Para que o usuário do e-SUS AF possa acessar recursos restritos em um contexto de uma aplicação, é necessário que o mesmo possua uma permissão. Diz-se que uma permissão de acesso é o conjunto que engloba um ente, um estabelecimento e um perfil de acesso, permitindo a quem o possui realizar ações dentro da aplicação.
Uma permissão de acesso pode ser atribuída sem necessariamente estar vinculada a um ente e estabelecimento, desde que respeitadas algumas regras de forma a fazer com que o contexto no qual o usuário está inserido faça sentido. Um contexto por sua vez, é um conceito mais amplo e diz respeito à amplitude de ações que o usuário pode realizar dentro do sistema, no e-SUS AF há 3 contextos distintos, o contexto global, contexto de ente e contexto de estabelecimento. Diz-se que um usuário está em contexto de estabelecimento quando as ações realizadas pelo mesmo se restringem a um dado estabelecimento de saúde, em contexto de ente, quando suas ações afetam um ente como um todo e em contexto global quando suas ações afetam a aplicação como um todo, independente de ente ou estabelecimento.
Em posse desses conceitos, passamos ao conceito de atribuição de permissão. Trata-se de um recurso onde, um usuário uma permissão de acesso ao sistema. Apenas usuários com perfil que possua o recurso "ROLES:ASSIGN" é capaz de atribuir permissões de acesso a outros usuários. O sistema deve permitir que o usuário atribua permissões de acesso a outros usuários, desde que respeitadas as regras de atribuição de permissão que serão descretas no tópico Critérios de Aceitação.
Implementação
A funcionalidade de atribuição de permissão de acesso é uma funcionalidade que deve ser acessada através do menu lateral no item “Controle de Acesso”, subitem “Moderar Perfil”, na tela “Consultar Permissões de Acesso”, quando acionar a opção “Novo”.
As regras de atribuição descritas no item Critérios de Aceitação parágrafo 10 deverá ser controlada pelo frontend da aplicação de forma fácil e intuitiva.
Quanto aos parágrafos de 3 a 9, deverão contar com recurso específico no backend a fim de controlar a atribuição de perfis de acesso, evitando que o usuário atribua um perfil que não seja permitido. O Backend deverá implementar recursos específicos que viabilizem a consulta as regras e suportem a implementação do frontend.
Protótipo de Tela
Critérios de Aceitação
- O usuário somente poderá acessar a funcionalidade caso tenha permissão; RGN001
- O acesso à funcionalidade é dado através do menu lateral no item “Controle de Acesso”, subitem “Moderar Perfil”, na tela “Consultar Permissões de Acesso”, quando acionar a opção “Novo”;
- O sistema deve permitir a atribuição de perfis conforme:
- O perfil de "Instalador" não pode ser atribuido ou solicitado por quaisquer usuário no contexto da aplicação;
- Um usuário com perfil de “Instalador” poderá atribuir somente perfil de “Administrador”;
- Usuário com perfil de “Administrador” atribui perfil de “Administrador” e “Gestor”;
- Usuário com perfil de “Gestor” poderá atribuir os perfis de "Gestor", "Gestor de Estabelecimento", "Farmacêutico", "Atendente", "Administrativo" e perfis personilizados criados para o ente;
- Usuário com perfil de “Gestor Estabelecimento” poderá atribuir os perfis de "Gestor de Estabelecimento", "Farmacêutico", "Atendente", "Administrativo" e perfis personilizados criados para o ente;
- Perfis personalizados não poderão atribuir ou moderar outros perfis;
- Um perfil deve ser atribuído de acordo com o contexto em que o usuário está inserido conforme segue:
- Os perfis "Gestor de Estabelecimento", "Farmacêutico", "Atendente" e "Administrativo" devem ser atribuídos junto a um estabelecimento específico;
- O perfil Gestor deve estar vinculado apenas a um ente, não podendo ser atribuido a um estabelecimento;
- A aplicação não exercerá quaisquer controle sobre perfis personalizados, devendo o usuário que atribui o perfil personalizado ter ciência de quais permissões estão atreladas a este perfil e o contexto ao qual o mesmo se propõe a atender;
- Perfi Administrador não poderá ser atribuído a ente e estabelecimento, vinculando-se ao contexto global da aplicação;
- Um usuário não poderá possuir mais de um perfil para o mesmo estabelecimento; RGN054 MSG085
- Quando o usuário acionar a opção “Atribuir”, o sistema deve atribuir o perfil de acesso ao sistema, gravar o estado do registro como “Ativo” e a situação como “Aprovado” e retornar para a tela de consultar permissões de acesso; MSG082 MSG086
- O sistema deve gravar a data, hora e CPF e nome do usuário que a executou qualquer ação de alteração no estado do registro. RGN005
Modelo de Dados
Entidade: Permissão de Acesso
Nível | Atributo | Descrição | Cardinalidade | Tipo de Dado | Tamanho | Formato / Observação |
---|---|---|---|---|---|---|
1 | Instância | Identificador do ente ao qual o usuário será vinculado | (0, 1) | number | - | - |
1 | estabelecimento | Identificador do estabelecimento ao qual o usuário está vinculado | (0, 1) | number | - | - |
1 | perfil | perfil atribuído / solicitado pelo / ao usuário | (1, 1) | number | - | - |
1 | cpf | CPF do usuário da aplicação a quem se está atribuindo o perfil | (1, 1) | number | - | - |
1 | status | INDICA A SITUAÇÃO DA PERMISSÃO SOLICITADA | (1, 1) | enum | - | S - SOLICITADA / A - APROVADA / R - REPROVADA / I - INATIVA |
1 | Justificativa Solicitação | JUSTIFICATIVA DA SOLICITAÇÃO DE PERMISSÃO | (0, 1) | string | - | - |
1 | Justificativa moderação | Justificativa da negativa de moderação da permissão solicitada | (0, 1) | string | - | - |
Entidade: Atribuição Perfil
Nível | Atributo | Descrição | Cardinalidade | Tipo de Dado | Tamanho | Formato / Observação |
---|---|---|---|---|---|---|
1 | Perfil de origem | Identificador do perfil com permissão para atribuição | (1, 1) | number | - | - |
1 | Perfil de destino | Identificador do perfil que pode ser atribuído | (1, 1) | number | - | - |