Academia Deltamontero · Documentación
Arquitectura

Roles y permisos

Perfiles de la Academia, roles personalizados de Moodle, rutas por cargo, lista blanca de administración y super administradores.

El modelo de permisos sigue al pie de la letra el Manual de Perfiles de Formación y Rutas de Aprendizaje de la Academia (secciones 4 a 16). Cuando un arquetipo de Moodle concede más de lo que dice el manual, los scripts de configuración retiran esos permisos en cada despliegue.

Cómo encajan las piezas

Cargo (formulario "Crear colaborador", importación desde Excel o agente de IA)
   │
   ├─► Rol de sistema delta_*            → qué puede hacer en la plataforma
   │                                       (y su nivel de cuota de IA)
   ├─► Cohorte "Cargo: …" (cargo_*)      → ruta de módulos obligatoria
   │      └─ matrícula por cohorte en cada módulo de la ruta
   │      └─ en ciertos módulos, rol de curso de responsable de contenido
   ├─► Cohorte "Todo el equipo Deltamontero" (delta_todos)
   └─► Área / Equipo (campo de perfil)   → reportes por área; equipos con líder

La correspondencia entre cargo, rol y cohorte está en local_candidate_enrollment/classes/form/staff_form.php; la matriz de módulos obligatorios y complementarios por cargo, en infrastructure/moodle/manual-academia.json (matriz).

Perfiles del manual y roles de Moodle

Los roles se crean o actualizan con rebuild-roles-per-manual.php (aprovisionamiento) y se ajustan en cada despliegue con los scripts de alineación. Se reutilizaron siete nombres cortos anteriores para no romper asignaciones existentes, por eso algunos nombres cortos no coinciden con el perfil.

Rol (nombre corto)Perfil del manualCargosArquetipoContextosNivel de IA
delta_sociosAdministrador InstitucionalSociosmanagerSistema, categoría, cursoSin límite
delta_gerentesGerenciaGerencia de Operaciones, de Proyectos, de Back Officemanager (recortado)Sistema, categoría, cursoAmpliado
delta_jefaturasAdministrador de FormaciónJefe de Talento HumanomanagerSistema, categoría, cursoSin límite
delta_a1_operacionesAdministrador TécnicoGerente de Sistemasmanager (recortado)Sistema, categoría, cursoSin límite
delta_a2_rrhhRRHH OperativoAsistente de Talento HumanoeditingteacherSistema, categoría, cursoAmpliado
delta_a3Líder OperativoContadora General / Líder de Equipoteacher (sin edición)Categoría, cursoAmpliado
delta_jefatura_tecnicaJefatura TécnicaJefe de Soporte, Jefe de DesarrollostudentCategoría, cursoAmpliado
delta_operativo_tecnicoOperativo TécnicoAsistente DesarrolladorstudentCursoBásico
delta_operativoOperativoAsistente ContablestudentCursoBásico
delta_operativo_backofOperativo / Back OfficeTesorerastudentCursoBásico
delta_auxiliaresAuxiliarMensajero, Auxiliar de LimpiezastudentCursoBásico
delta_pasantePasante / AprendizPasantestudentCursoBásico

Los doce roles tienen permitido block/ai_chat:view, para que el chat de IA aparezca sin importar el arquetipo.

Roles auxiliares

RolContextoPara qué
delta_lider_equipo (Líder de equipo)UsuarioSe asigna al líder sobre cada integrante de su equipo. Le permite ver el avance, resultados y certificados de su equipo en "Mi equipo". Se sincroniza al guardar o borrar equipos.
delta_resp_contenidosCursoActualizar actividades y material de módulos concretos, sin matricular, sin ver calificaciones ajenas y sin cambiar la configuración del curso.
delta_gestor_m12CursoLo mismo, más matricular y retirar personas y gestionar grupos por cliente en el Módulo 12.
delta_postulante (Postulante restringido)SistemaSolo rinde su prueba técnica: se le impiden mensajería, chat de IA, blogs, comentarios, búsqueda, archivos propios, entre otros.
delta_ai_mcp_ro (Delta AI MCP)SistemaRol de la cuenta de servicio mcpservice del agente MCP (ver Inteligencia artificial).

Responsables de contenido por cohorte de cargo (de manual-academia.json):

Cohorte de cargoRol de cursoMódulos
Gerencia de Operacionesdelta_resp_contenidos2, 3, 4, 5 y 8
Gerencia de Operacionesdelta_gestor_m1212
Gerencia de Proyectosdelta_resp_contenidos12
Gerente de Sistemasdelta_resp_contenidos11 y 12

Ajustes al arquetipo en cada despliegue

ScriptEfecto
align-access-profiles-to-manual.phpA Gerencia le quita editar o borrar cursos y actividades, categorías, cohortes, preguntas, calificar y copias de seguridad; conserva reportes, ver resultados y matricular (accesos al Módulo 12). Al Administrador Técnico le quita gestionar cohortes y vincularlas a cursos (las rutas de formación no son su responsabilidad).
align-gerencia-to-manual.phpGerencia no crea ni edita usuarios (PREVENT en contexto de sistema); tampoco por el chat de IA.
enforce-course-creation-manual.phpSolo delta_jefaturas (y la cuenta de servicio MCP) puede crear cursos; al resto de roles Delta se les fija PREVENT.
enforce-real-quiz-attempts.phpNadie tiene mod/quiz:preview: todos rinden intentos reales que cuentan para el máximo. Solo el super administrador previsualiza.
apply-content-responsibilities.phpAsigna los roles de responsable de contenido por cohorte de cargo.
apply-partial-content-by-cargo.phpTesorería solo ve los temas aplicables de los Módulos 2 y 5 (grupo con restricciones de acceso).

Matriz de "Permitir asignar roles" (fix-role-assign-matrix-v2.php): Socios puede asignar cualquier rol; Talento Humano asigna los perfiles operativos y de formación; Gerencia no asigna roles de sistema; el Administrador Técnico gestiona su equipo técnico. Reportes (grant-reports-access.php): ven reportes Socios, Administrador de Formación, Administrador Técnico y Gerencia; crean reportes a medida Socios y Administrador de Formación.

Candados que no se saltan los gestores

En Moodle, los roles de gestión ignoran las restricciones de disponibilidad. En la Academia eso no aplica a lo que mide el cumplimiento:

  • Cuestionarios: la regla de acceso quizaccess_deltagate evalúa la disponibilidad sin el bypass de gestor.
  • Certificados: el parche de mod_customcert solo muestra y permite descargar el certificado propio con el módulo completo.
  • Vista de estudiante: quien gestiona un curso lo ve como estudiante fuera del modo de edición, porque también rinde sus módulos.

Lista blanca de Administración del sitio

local_deltamodules\admin_access poda el árbol de Administración del sitio para quien no es super administrador. Todo lo que no está en la lista desaparece del menú y, como las páginas de administración se abren a través del árbol, tampoco se pueden abrir escribiendo la dirección. Estar en la lista no da acceso: cada página sigue exigiendo su propio permiso.

SecciónPáginas permitidas
UsuariosPersonal Deltamontero, Crear colaborador, Importar personal desde Excel, Aceptación de políticas, Correos de la Academia, Verificar un certificado, Completar correos del personal
CursosCrear módulo desde archivo, Respaldos de la Academia
CalificacionesCalificaciones de la Academia
InformesRevisión anual de módulos, Informes personalizados
GeneralReglas de la Academia, Guía para Talento Humano, Configuración IA, Plantillas de certificado, Verificar un certificado, Página principal del sitio, Buscador de la administración
Secciones completasPrivacidad y políticas

Capacidades propias de local_deltamodules: managereview, viewreports, manageteams, managestandard, managepeople y manageclients. De local_candidate_enrollment: entre otras, viewcandidates.

Super administradores

CuentaOrigenDetalle
Administrador inicial (MOODLE_ADMIN_USER, por defecto admin)InstalaciónContraseña de MOODLE_ADMIN_PASSWORD, usada solo en la primera instalación
admin.respaldocreate-second-superadmin.phpSe crea una sola vez si existe MOODLE_BACKUP_ADMIN_PASSWORD, con cambio de contraseña obligatorio al primer ingreso. Si se elimina a propósito, no vuelve a crearse
  • Las dos cuentas se restablecen la contraseña entre sí (Administración del sitio → Usuarios → Examinar lista de usuarios → Editar). Las cuentas con privilegios no pueden usar la recuperación por autoservicio.
  • El script ya no contiene ni detecta las contraseñas que estuvieron publicadas en versiones antiguas del repositorio. Si quedó activo el aviso "la cuenta admin usa la contraseña por defecto" (alert_admin_defaultpass), se quita solo cuando la cuenta admin cambia su contraseña (observador people::password_updated). Esas contraseñas siguen en el historial de Git y deben considerarse comprometidas: ninguna cuenta debe usarlas.
  • Los super administradores tienen verificación en dos pasos (TOTP) obligatoria, con 7 días de gracia para configurarla (ver Seguridad).
  • El super administrador ve todo el árbol de administración, se salta los candados de cuestionarios y certificados y recibe los avisos de cron, despliegue, respaldo y contraseñas por defecto.

Otros tipos de usuario

TipoCómo entraQué ve
PostulanteCon un código de acceso que entrega Talento Humano (define el cargo de la prueba, vence y tiene número de usos)Solo su prueba técnica; cualquier otra página lo devuelve a ella. Al enviar, termina su sesión
ClienteSe registra con el código de su empresaLos módulos asignados a la cohorte de su empresa (cli_*); se suspende cuando vence el acceso de la empresa
InvitadoNo permitidoEl acceso de invitados está desactivado

Detalle de uso para administradores: Administración.

En esta página