Roles y permisos de CS Resource

Desglose completo de lo que cada rol en CS Resource puede y no puede hacer.

A un usuario de CS Resource se le puede asignar uno de tres roles dentro de la aplicación. Cada rol tiene permisos específicos, detallados en el artículo a continuación. Use esta guía para determinar el mejor rol para los usuarios de la aplicación de recursos.


1. Lector

PUEDEN HACER:

  • Panel

    • Ver estadísticas generales de la base de datos

NO PUEDEN HACER:

  • Realmente nada 🤷

  • Crear, actualizar o eliminar recursos

  • Leer recursos (sin resource:read permiso)

  • Ver estadísticas específicas del recurso

  • Ver actividad reciente

  • Gestionar usuarios

  • Gestionar atributos, grupos, áreas de servicio, fuentes de financiamiento

  • Gestionar taxonomía

  • Gestionar condiciones de servicio

  • Gestionar agencias externas

  • Gestionar tipos de auditoría

  • Ver estadísticas de actualización anual

Caso de uso:

  • Miembro general de la organización que no selecciona ni gestiona la base de datos de recursos


2. Redactor

PUEDEN HACER:

  • Gestión de recursos

    • Crear recursos

    • Leer recursos

    • Actualizar recursos

    • Eliminar recursos

  • Solicitudes de cambio de actualización anual

    • Crear solicitudes de cambio

    • Leer solicitudes de cambio

    • Actualizar solicitudes de cambio

    • Eliminar solicitudes de cambio

  • Acceso al panel

    • Ver actividad reciente

    • Ver estadísticas de recursos

    • Ver mis tareas

    • Ver estadísticas de actualización anual

  • Acceso de solo lectura a la configuración

    • Leer atributos (attribute-manager:read)

    • Leer tipos de auditoría (audit-type-manager:read)

    • Leer fuentes de financiamiento (funding-source:read)

    • Leer grupos (group-manager:read)

    • Leer áreas de servicio (service-area-manager:read)

    • Leer condiciones de servicio (service-condition-manager:read)

    • Leer taxonomía (taxonomy:read)

NO PUEDEN HACER:

  • Crear, actualizar o eliminar atributos

  • Crear, actualizar o eliminar tipos de auditoría

  • Crear, actualizar o eliminar fuentes de financiamiento

  • Crear, actualizar o eliminar grupos

  • Crear, actualizar o eliminar áreas de servicio

  • Crear, actualizar o eliminar condiciones de servicio

  • Crear, actualizar o eliminar términos de taxonomía

  • Gestionar usuarios

  • Gestionar agencias externas

  • Gestionar actualizaciones anuales (solo solicitudes de cambio)

  • Ver estadísticas personales

Caso de uso:

  • Rol principal para los curadores de recursos que editan recursos

  • Puede crear/actualizar/eliminar recursos pero no puede modificar la configuración del sistema

  • Puede gestionar tareas y participar en las actualizaciones anuales


3. Superadministrador

PUEDEN HACER:

  • TODO

  • Omite todas las comprobaciones de permisos

  • Tiene superadmin alcance que otorga acceso ilimitado

  • Puede acceder a cualquier endpoint independientemente de los requisitos de alcance

NO PUEDEN HACER:

  • Nada - acceso completo al sistema

Caso de uso:

  • Superusuarios del sistema

  • Acceso de emergencia

  • Desarrollo/pruebas

  • Nivel más alto de acceso


Referencia de ámbitos de permiso

Operaciones de recursos

  • resource:create - Crear nuevos recursos

  • resource:read - Ver recursos

  • resource:update - Editar recursos existentes

  • resource:delete - Eliminar recursos

Gestión de usuarios

  • user-manager:create - Añadir nuevos usuarios

  • user-manager:read - Ver usuarios

  • user-manager:update - Editar usuarios

  • user-manager:delete - Eliminar usuarios

Gestión de configuración

  • attribute-manager:* - Gestionar atributos

  • audit-type-manager:* - Gestionar tipos de auditoría

  • group-manager:* - Gestionar grupos

  • service-area-manager:* - Gestionar áreas de servicio

  • funding-source:* - Gestionar fuentes de financiamiento

  • taxonomy:* - Gestionar términos de taxonomía

  • service-condition-manager:* - Gestionar condiciones de servicio

  • external-agency:* - Gestionar agencias externas

Operaciones de actualización anual

  • annual-update-assignment:* - Gestionar asignaciones de actualización anual

  • annual-update-change-request:* - Gestionar solicitudes de cambio

  • annual-update:manage - Gestión completa de la actualización anual

  • annual-update-stats:read - Ver estadísticas de actualización anual

Acceso al panel

  • dash-personal-stats:read - Estadísticas personales

  • dash-recent-activity:read - Feed de actividad reciente

  • dash-resource-stats:read - Estadísticas de recursos

  • dash-my-tasks:read - Vista Mis tareas

Especial

  • superadmin - Omite todas las comprobaciones de permisos


Matriz de comparación de roles

Permiso
Lector
Redactor
Superadministrador

CRUD de recursos

Gestión de usuarios

Gestión de atributos

👁️

Gestión de grupos

👁️

Gestión de áreas de servicio

👁️

Gestión de fuentes de financiamiento

👁️

Gestión de taxonomía

👁️

Gestión de condiciones de servicio

👁️

Gestión de agencias externas

Gestión de tipos de auditoría

👁️

Actualización anual: Gestionar

Actualización anual: Solicitudes de cambio

Actualización anual: Asignaciones

Panel: Estadísticas de recursos

Panel: Actividad reciente

Panel: Mis tareas

Panel: Estadísticas personales

Leyenda:

  • ✅ = Acceso completo (crear, leer, actualizar, eliminar)

  • 👁️ = Acceso de solo lectura

  • ❌ = Sin acceso


Notas de control de acceso

  1. Ámbito de la organización: Todos los roles están limitados a la organización del usuario

  2. Ámbito de la agencia: Los roles Agency Admin y Agency Writer pueden limitarse adicionalmente a agencias específicas

  3. Ámbito del sitio: A los usuarios se les pueden asignar sitios específicos (filtrado adicional)

  4. Omisión de superadministrador: El rol de superadministrador omite todas las comprobaciones de permisos en el middleware

  5. Validación de permisos: Todos los endpoints usan requireScope middleware para validar permisos


Casos de uso comunes

Lector

  • Revisores de la actualización anual

  • Partes interesadas que necesitan ver el progreso de la actualización anual

  • Participantes de solo lectura en los flujos de trabajo de actualización anual

Redactor

  • Curadores principales de recursos

  • Editores de contenido que mantienen los datos de recursos

  • Usuarios que necesitan crear/editar recursos pero no configurar el sistema

Superadministrador

  • Superusuarios del sistema

  • Acceso de emergencia

  • Entornos de desarrollo/pruebas


Detalles de implementación

  • Almacenamiento de permisos: Permisos almacenados como cadenas separadas por comas en role.permission_scope

  • Validación: requireScope el middleware verifica los permisos del rol del usuario

  • Comprobación de superadministrador: Manejo especial para superadmin alcance que omite todas las comprobaciones

  • IDs de rol: IDs fijos (1-6) para roles estándar

  • Ámbito de la organización: Los roles pertenecen a organizaciones vía organizationId

Última actualización

¿Te fue útil?