PERMISOS

De Pragma Wiki
Ir a la navegación Ir a la búsqueda

Descripción

Los usuarios del sistema solo pueden acceder a aquellos objetos de la base de datos sobre los que tienen permisos de acceso. Esos permisos se definen en el sistema, pero la administración de la seguridad la hace directamente la base de datos. Es decir, los permisos se definen en el sistema para simplificar la definición, pero usan exclusivamente las opciones de seguridad de la BD.

Diagrama de permisos

Para simplificar, los permisos sobre los objetos se asignan a roles (representados por la tabla descripta en este artículo), y los roles se asignan a los usuarios adquiriendo éstos los permisos asignados al rol. Usando el esquema de la base de datos no importa desde que aplicación se acceda a la base de datos, siempre se van a aplicar los permisos que el usuario tenga.

El esquema documentado reemplaza a prxrol, prxrol_permisos y prxrol_permisosdetalle que al 07/12/2024 están en uso pero pronto dejarán de estarlo siendo reemplazadas por los permisos descriptos en esta documentación.

La tabla USUARIOPERFIL (Usuarios, perfiles) permite definir los perfiles de acceso.

Estructura

Para aplicar este esquema de seguridad deben seguirse los siguientes pasos:

  • Definir por lo menos un perfil usando PERMISOS.
  • Al perfil deben asociarse los permisos a los objetos de la base de datos en PERMISOS/OBJETOS, que es detalle de la anterior.
  • Cada perfil debe ser asociado a los usuarios en USUARIOS/PERMISOS.

La base de datos mantendrá los permisos actualizados con cada cambio que se realice en cualquier de estas tablas.

Identidad

Lista de campos

Columna Campo físico Campo lógico Atributo Descripción Etiquetas Definición Observaciones
1 FCODIGO Codigo VARCHAR(64) Caracteres de longitud variable hasta 64 caracter/es KEY,REQ,VIS,INS USUARIOPERFIL Campo clave.
2 FDESCRIPCION Descripcion VARCHAR(128) Caracteres de longitud variable hasta 128 caracter/es REQ,VIS,INS,UPD USUARIOPERFIL Descripción del perfil.
3 FPUBLICO Público BIT Campo lógico, admite 1, 0 y NULL REQ,VIS,INS,UPD USUARIOPERFIL Marcar para indicar que el perfil es público y automáticamente se asigna a todos los usuarios.
4 FACTIVO Activo BIT Campo lógico, admite 1, 0 y NULL VIS,INS,UPD USUARIOPERFIL Marcar únicamente cuando el rol se encuentre activo. Este campo no tiene efecto sobre los triggers mencionados más abajo, su efecto es interno. Si el registro existe entonces existe el permiso en la BD. Si el registro se elimina entonces el permiso se eliminará de la BD.
5 FIDNUM FIDNUM VARCHAR(16) Caracteres de longitud variable hasta 16 caracter/es INS USUARIOPERFIL OBSOLETO.
6 FORDEN Orden INT Entero. VIS,INS,UPD USUARIOPERFIL OBSOLETO.

Observaciones adicionales sobre estos campos

Relaciones

Triggers

Esta tabla usa dos triggers:

  • USUARIOPERFIL_TR_UPDATE se ejecuta cuando insertamos o actualizamos los datos de esta tabla creando el rol de la base de datos si es que aún no ha sido creado.
  • USUARIOPERFIL_TR_DELETE se ejecuta cuando eliminamos un registro de esta tabla eliminando el rol de la base de datos.