Entendiendo los Roles

Este artículo se ha traducido del inglés mediante IA y puede contener errores. Sus comentarios nos ayudarán a mejorar.

En este artículo, exploramos los detalles del uso de Roles para determinar los permisos dentro de ActivityInfo. En ActivityInfo, puede crear Roles para controlar a qué datos pueden acceder los usuarios y qué acciones les permite realizar en su Base de datos.

En este artículo, puede aprender sobre conceptos clave y ver ejemplos relacionados con cómo puede usar los Roles para definir los permisos de los usuarios.

Conceptos clave

Recursos

Los Recursos se refieren a Formularios, Carpetas, Informes y Bases de datos en ActivityInfo.

Operaciones

Las Operaciones se refieren a cualquier acción que se realiza sobre los recursos y los usuarios, tales como:

  • Permisos a nivel de Registro, como ver, añadir, editar o eliminar registros.
  • Permisos relacionados con operaciones, como gestionar usuarios, añadir o editar formularios y gestionar bloqueos.

Para más información sobre todas las operaciones posibles en ActivityInfo, consulte la lista completa de operaciones.

Concesiones

Una Concesión identifica el Recurso específico sobre el que se aplican las operaciones que un usuario tiene permitido realizar. Las Concesiones se pueden aplicar a cualquier tipo de Recurso.

Las Concesiones son heredadas por todos los Recursos contenidos. Una concesión que se aplica a una carpeta aplica la configuración a todos los formularios/carpetas dentro de esa carpeta, mientras que una concesión que se aplica a una base de datos completa aplica la configuración a todos los recursos dentro de esa base de datos. Las concesiones heredadas también pueden ser "sobrescritas" en un recurso contenido aplicando una nueva concesión en ese recurso, si se desea.

Este diagrama ilustra cómo las concesiones son heredadas por los recursos contenidos dentro de otro recurso al que se le da una concesión explícita.

Este diagrama ilustra cómo las concesiones heredadas pueden ser sobrescritas haciendo una concesión explícita a un recurso específico contenido dentro de otro recurso.

Concesiones opcionales

Una concesión puede configurarse como opcional, lo que significa que puede elegir si habilita la concesión para cada usuario que invite a su base de datos.

Condiciones

Las Condiciones le permiten definir reglas que determinan sobre qué registros un usuario puede realizar operaciones. Las reglas siempre se expresan como una Fórmula que se evalúa como VERDADERO o FALSO. El constructor de reglas le ayuda a escribir los tipos más comunes de fórmulas, incluyendo la determinación de si:

  • Un registro está relacionado con un parámetro
  • Un campo específico coincide con un valor o conjunto de valores especificados
  • Un registro está asignado al usuario

Sin embargo, siempre puede usar el editor de fórmulas para escribir sus propias fórmulas, incluidas aquellas que hacen referencia a campos o subregistros relacionados.

Por ejemplo, desea limitar la visibilidad de los registros relacionados con personas menores de edad al personal autorizado. En su Formulario "Caso", tiene un Campo etiquetado como "EDAD". Al crear una condición con una regla donde la operación "VER" solo se permite cuando la fórmula "EDAD>18" es VERDADERA, se asegura de que los usuarios a quienes se aplica esta condición solo puedan ver los registros donde el valor en el campo EDAD es mayor de 18.

Se pueden combinar múltiples reglas para formar una condición sobre una operación específica, y puede decidir si todas las reglas son necesarias o no para que se cumpla la condición. Además, puede establecer diferentes condiciones en diferentes operaciones. Por ejemplo, puede definir una condición que permita a un usuario VER todos los registros en un Formulario y otra condición que permita a los usuarios EDITAR solo los registros a los que están asignados.

Parámetros

Los Parámetros son atributos que se asignan a un usuario y que pueden ser utilizados en condiciones para controlar las operaciones a nivel de registro que se les permite realizar.

Los Parámetros están vinculados a un formulario de referencia, como "Regiones", que proporciona los posibles valores que se pueden asignar a un usuario. Cuando invita a un usuario a su base de datos, le asigna un valor de parámetro específico, lo que asocia efectivamente a ese usuario con el registro correspondiente en el formulario de referencia.

Los Parámetros pueden luego ser utilizados como parte de una regla en una condición para definir el conjunto de registros sobre los que se permiten las operaciones. Cuando se utilizan parámetros en una condición, se limitan los registros sobre los que un usuario podría realizar acciones a aquellos registros que se refieren al valor del parámetro específico asignado al usuario. Por ejemplo, si a un usuario se le ha asignado "Oeste" para el parámetro "Regiones", entonces se puede configurar una condición para permitir que ese usuario AÑADA solo registros relacionados con la región "Oeste".

IMPORTANTE: Para habilitar condiciones basadas en parámetros, su formulario debe tener un campo de referencia que apunte al formulario que contiene los posibles valores del parámetro. Si tiene un rol en el que habilita condiciones en operaciones a nivel de registro que dependen de un parámetro, los usuarios asignados a este rol no podrán realizar esas operaciones a nivel de registro en formularios que no tengan un campo de referencia que apunte al formulario que contiene los posibles valores del parámetro.

Rol

Un Rol es una combinación determinada de Concesiones y Parámetros que usted asigna a un grupo específico de usuarios. Los Roles son, por lo tanto, la forma principal mediante la cual usted controla qué acciones permite que los usuarios realicen en su base de datos. Cuando invita a un usuario a su base de datos, especifica a cuál de los roles disponibles debe ser asignado, y todas las acciones que se le permite realizar estarán restringidas por las concesiones y permisos que haya definido para ese rol.

¿Cuántos Roles necesito?

Generalmente, puede definir un Rol para cada grupo de usuarios que realizan el mismo conjunto de tareas en su base de datos. Muy a menudo, esto puede coincidir con las diversas funciones dentro de su organización. Por ejemplo, puede definir un rol para Oficiales de Proyecto, otro rol para Líderes de Sector y otro más para Oficiales de Monitoreo y Evaluación.

Puede usar Concesiones y Parámetros para permitir flexibilidad en las acciones que diferentes usuarios pueden realizar y mantener al mínimo el número de Roles que necesita crear. Por ejemplo, en lugar de crear un rol separado para cada uno de sus socios informantes (lo que será difícil de gestionar si tiene muchos), puede crear un único rol llamado "Socio Informante", que tiene un Parámetro para "Socio". El Parámetro "Socio" puede luego ser utilizado como parte de una Condición para asegurar que sus socios informantes solo puedan realizar acciones en registros asociados con su propia organización.

En algunos casos, las bases de datos se organizan por carpetas según líneas de clúster o tipos de programa. En el caso de la coordinación humanitaria, podría tener carpetas para Salud, WASH y NFI, por ejemplo. También podría tener tres roles diferentes dependiendo de la función de una persona dentro del clúster, como Líder de Clúster, IMO de Clúster y Miembro de Clúster. Para evitar tener 3 x 3 = 9 roles para Miembro del Clúster de Salud, Miembro del Clúster de WASH, etc., puede usar Concesiones opcionales para tener solo tres roles. Cuando asigne un rol de "Miembro de Clúster" a un usuario, también elegirá a qué recursos específicos del sector le está dando acceso.

Este diagrama ilustra las relaciones entre los diversos conceptos relacionados con los permisos. Los Roles pueden tener múltiples concesiones que permiten el acceso a varios recursos dentro de su base de datos. Cada concesión especifica las operaciones permitidas para el recurso seleccionado. Las operaciones a nivel de registro pueden tener condiciones adjuntas. Finalmente, los roles pueden tener múltiples parámetros definidos, que luego pueden aplicarse en condiciones a través de las concesiones según sea necesario.

Ejemplos

En esta sección, puede ver algunos ejemplos de diferentes roles con varios niveles de permisos.

Limitar el acceso a los registros basado en un Parámetro

Escenario

Supongamos que dirige un programa nacional donde el personal del programa atiende a beneficiarios en varias regiones. Tiene un formulario llamado "Registro de Beneficiarios" donde tiene un registro con la información personal de cada beneficiario individual atendido por el programa. Su personal del programa está asignado para atender a los beneficiarios solo en su región asignada. Para garantizar la protección de los datos personales sensibles, le gustaría asegurarse de que el personal del programa solo pueda acceder a los registros de los beneficiarios que viven en su región asignada. Para cumplir con estos requisitos, puede agregar un Rol con la siguiente configuración.

Rol

Crea un único rol llamado "Oficial de Programa".

Parámetros

Dentro del rol "Oficial de Programa", crea un parámetro llamado "Región" que apunta a un formulario de referencia "Regiones" que contiene los siguientes valores posibles: "Norte", "Este", "Sur" y "Oeste".

Concesiones

Especifica que a este rol de "Oficial de Programa" se le debe conceder acceso al formulario "Registro de Beneficiarios", donde selecciona "Ver registros", "Añadir registros" y "Editar registros" como las operaciones permitidas.

Dentro de esta concesión, añade una condición con una regla donde las operaciones VER, AÑADIR y EDITAR solo se permiten en registros que están relacionados con el valor del parámetro "Región" asignado al usuario.

De esta manera, los usuarios a los que se les asigne el rol de "Oficial de Programa" y se les dé el valor del parámetro "Región" de "Norte" solo podrían ver, añadir y editar registros en el formulario de Registro de Beneficiarios donde el campo Región se haya establecido en Norte.

Limitar el acceso a los registros basado en múltiples condiciones

Escenario

Imagine que está gestionando una base de datos para una respuesta humanitaria coordinada con intervenciones que se implementan en varios sectores. Tiene varias organizaciones asociadas que añaden registros a la base de datos y desea controlar el acceso y las acciones en función de la organización asociada del usuario y el sector en el que opera. Para garantizar la integridad de los datos enviados por los socios, desea restringir las acciones de entrada de datos para que los usuarios solo puedan añadir o editar registros asociados con su propia organización asociada. Sin embargo, para facilitar la coordinación entre los socios, le gustaría permitir la visibilidad de los registros enviados por todos los socios dentro de un determinado sector. Para cumplir con estos requisitos, puede agregar un Rol con la siguiente configuración.

Rol

Crea un único rol para todos los socios y lo nombra "Socio Informante".

Parámetros

Define dos parámetros: uno para "Socio", que apunta a su lista de organizaciones asociadas, y otro para "Sector", que apunta a su lista de sectores (por ejemplo, "Salud", "Educación", "WASH").

Concesiones

Especifica que a este Rol se le debe conceder acceso al formulario "Actividades", donde selecciona "Ver registros", "Añadir registros" y "Editar registros" como las operaciones permitidas.

Luego, añade dos condiciones dentro de esta Concesión:

  • Condición 1: VER solo los registros donde el campo "Sector" coincida con el valor del parámetro "Sector" asignado al usuario.
  • Condición 2: AÑADIR y EDITAR solo los registros donde el campo "Socio" coincida con el valor del parámetro "Socio" asignado al usuario.

Limitar el acceso a los registros basado en el usuario asignado

Escenario

Supongamos que está gestionando una base de datos de Gestión de Casos donde cada caso se asigna a un único Trabajador de Casos. Debido a que su base de datos contiene información altamente sensible, desea asegurarse de que los Trabajadores de Casos solo puedan acceder a los registros de los casos a los que están asignados.

Rol

Crea un único rol llamado "Trabajador de Casos".

Concesiones

Especifica que este rol debe tener acceso al formulario "Casos", donde selecciona "Ver registros", "Añadir registros" y "Editar registros" como las operaciones permitidas.

Dentro de esta concesión, añade una condición con una regla donde las operaciones VER, AÑADIR y EDITAR solo se permiten en los registros que están asignados al usuario. Para este rol, añadirá una condición adicional con una fórmula utilizando el constructor de reglas. Esto crearía una regla con una fórmula que le permite hacer coincidir registros específicos con un usuario actual. Seleccionará la condición "Registro asignado al usuario" y, con la fórmula, asignará "Trabajador de Casos == @user".

Con este rol, los Trabajadores de Casos solo podrían acceder e interactuar con los registros pertenecientes a los casos a los que están asignados.

El constructor de reglas contiene una fórmula preestablecida que filtra los registros basándose en si el valor seleccionado en un campo de usuario en el formulario coincide con el usuario actual.

Siguiente elemento
Entender los permisos