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 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, como:

  • Permisos a nivel de registro, como ver, añadir, editar o eliminar registros.
  • Permisos relacionados con operaciones, como la administración de usuarios, añadir o editar formularios y la administración de 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 puede 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 los ajustes a todos los formularios/carpetas dentro de esa carpeta, mientras que una concesión que se aplica a una base de datos completa aplica los ajustes a todos los recursos dentro de esa base de datos. Las concesiones heredadas también pueden ser "anuladas" 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 en otro recurso al que se le da una concesión explícita.

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

Concesiones opcionales

Una concesión puede establecerse como opcional, lo que significa que puede elegir si desea permitir 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 TRUE o FALSE. El creador 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 especificado
  • Un registro está asignado al usuario

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

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 llamado "EDAD". Al crear una condición con una regla donde la operación "VER" solo se permite cuando la fórmula "EDAD>18" es TRUE, se asegura de que los usuarios a los que se aplica esta condición solo puedan ver los registros donde el valor en el campo EDAD es mayor que 18.

Se pueden combinar múltiples reglas para formar una condición en una operación específica, y puede decidir si todas las reglas son obligatorias 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 que se les han asignado.

Parámetros

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

Los Parámetros están vinculados a un formulario de referencia, como "Regiones", que proporciona los valores posibles 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 usarse como parte de una regla en una condición para definir el conjunto de registros sobre los que se permiten 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", se puede configurar una condición para permitir que ese usuario AÑADA solo registros relacionados con la región "Oeste".

IMPORTANTE: Para permitir condiciones basadas en parámetros, su formulario debe tener un campo de referencia que apunte al formulario que contiene los valores posibles del parámetro. Si tiene un rol en el que permite 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 valores posibles del parámetro.

Rol

Un Rol es una combinación determinada de Concesiones y Parámetros que se asigna a un grupo específico de usuarios. Por lo tanto, los Roles son la forma principal de controlar 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. A menudo, esto puede coincidir con las diversas funciones dentro de su organización. Por ejemplo, puede definir un rol para los Oficiales de Proyecto, otro para los Líderes de Sector y otro para los Oficiales de Monitoreo y Evaluación.

Puede usar Concesiones y Parámetros para permitir flexibilidad en las acciones que pueden realizar los diferentes usuarios 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 asociados informantes (lo que será difícil de gestionar si tiene muchos), puede crear un único rol llamado "Asociado Informante", que tiene un Parámetro para "Asociado". El Parámetro "Asociado" puede usarse como parte de una Condición para asegurar que sus asociados informantes solo puedan realizar acciones en registros asociados con su propia organización.

En algunos casos, las bases de datos se organizan por carpeta 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, OIM 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 asigna 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 según un Parámetro

Escenario

Supongamos que dirige un programa nacional en el que el personal del programa atiende a beneficiarios en varias regiones. Tiene un formulario llamado "Registro de Beneficiarios" donde tiene un registro que contiene 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 añadir un Rol con los siguientes ajustes.

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 según 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 asociados, 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 asociados, le gustaría permitir la visibilidad de los registros enviados por todos los asociados dentro de un sector determinado. Para cumplir con estos requisitos, puede añadir un Rol con los siguientes ajustes.

Rol

Crea un único rol para todos los asociados y lo nombra "Asociado Informante".

Parámetros

Define dos parámetros: uno para "Asociado", 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" coincide con el valor del parámetro "Sector" asignado al usuario
  • Condición 2: AÑADIR y EDITAR solo los registros donde el campo "Asociado" coincide con el valor del parámetro "Asociado" asignado al usuario

Limitar el acceso a los registros según 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 Caso. Debido a que su base de datos contiene información altamente sensible, desea asegurarse de que los Trabajadores de Caso solo puedan acceder a los registros de los casos que se les han asignado.

Rol

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

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 registros que están asignados al usuario. Para este rol, añadirá una condición adicional con una fórmula utilizando el creador 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/a la usuario/a" y, con la fórmula, asignará "Trabajador de Caso == @user".

Con este rol, los Trabajadores de Caso solo podrían acceder e interactuar con los registros pertenecientes a los casos que se les han asignado.

El creador de reglas contiene una fórmula preestablecida que filtra los registros en función de si el valor seleccionado en un campo de usuario en el formulario coincide con el usuario actual.

Siguiente elemento
Entendiendo los permisos