Área de administración
El área de Administración (/management) es la superficie propia del operador. Tiene su propio inicio de sesión, separado de las cuentas del producto - una cuenta de operador no puede abrir páginas del producto, y viceversa.
Resumen
Sección titulada «Resumen»La página de inicio muestra qué es la instalación y qué está haciendo: recuentos de usuarios/espacios/proyectos, tarjetas de estado por módulo (ArchPilot, ArchScan, Code Health) tras un filtro de espacio opcional, gráficos de distribución, un indicador de ritmo de trabajo, la actividad de los últimos 28 días y, si está configurada, la comprobación de actualizaciones.
Espacios de trabajo
Sección titulada «Espacios de trabajo»Cada espacio de la instalación, con una página de detalle por inquilino:
- miembros (las cuentas que entran por LDAP llevan insignia - su contraseña vive en el directorio),
- proyectos (un proyecto sin credencial se marca: explica un repositorio que nunca analiza),
- invitaciones pendientes con su caducidad,
- un interruptor de invitaciones - cerrado, la acción de invitar desaparece para sus miembros y la API rechaza la llamada, la haga quien la haga. Los propios admins del espacio no pueden levantarlo.
- Una tarjeta Restablecer datos de módulos: elija módulos (ArchScan, ArchPilot, ArchSecurity, Cumplimiento, Git Health, analítica de ingeniería, historial del asistente) y sus resultados en este espacio se eliminan físicamente - ejecuciones, análisis, hallazgos y hechos. Reglas, integraciones, credenciales y miembros se conservan; el siguiente análisis o sincronización empieza de cero. No hay deshacer, por eso pregunta antes.
Las ejecuciones de ArchScan y las revisiones de ArchPilot en las pantallas de módulos del espacio llevan un botón Eliminar con el mismo fin: una ejecución de prueba que no debe contar se retira con sus hallazgos, de forma permanente.
De la ficha del workspace cuelgan dos páginas más:
- Configuración - la mitad de la configuración de un inquilino que solo veían sus propios miembros: con qué credenciales alcanza un proveedor Git (las suyas y las compartidas por la instalación, cada una con los cuatro últimos caracteres y cuántos proyectos la usan), a qué está conectado (Jira, Trello, Sonar, Slack, Teams, JMeter, Argo CD, Kubernetes, Dynatrace, New Relic), sus programaciones de análisis, sus roles propios con los permisos que conceden y sus grupos de proyectos. Solo lectura, y allí no se lee ningún secreto.
- Detalle de proyecto - pulse el nombre del proyecto: rama por defecto, grupo, credencial y su caducidad, los cuatro últimos caracteres del token del runner y su antigüedad, si hay secreto de webhook, los patrones de inclusión y exclusión del alcance de análisis, los enfoques de arquitectura, las excepciones de reglas, el seguimiento de versiones y quién registró el proyecto. El token y el secreto de webhook se guardan con hash y no son legibles.
Un workspace eliminado puede restaurarse desde la lista. Las filas nunca se quitaron, así que vuelve con sus proyectos y su historial.
Pantallas de módulos
Sección titulada «Pantallas de módulos»Cada módulo tiene una pantalla a escala de la instalación, y la mayoría permite abrir un espacio exactamente como lo ven sus miembros - los mismos paneles, hallazgos e informes, en solo lectura donde la acción pertenece al inquilino (exportaciones, sincronizaciones, cierre de comentarios).
- ArchScan - panel del parque, descenso por espacio a ejecuciones e informes completos; Code Health y Dependencias viven en su barra de pestañas con el mismo filtro opcional.
- ArchPilot - adopción y desenlace (aprobado / atención / suspenso), las reglas más disparadas y con qué frecuencia sus comentarios se atienden, listas de MR revisados por espacio con el detalle de hallazgos.
- ArchSecurity - mezcla de severidades, panel de seguridad e informes por marco (OWASP, PCI DSS, DISA STIG, CASA ASVS) por espacio, incluidos los hallazgos abiertos espejados desde GitLab/SonarQube - contados junto a los nuestros, nunca fusionados.
- Cumplimiento, Git Health, Catálogo de servicios - equivalentes a escala de instalación de las pantallas de inquilino, todos acotables por espacio y proyecto.
En todas partes, nunca analizado se informa como desconocido - ni sano ni cero.
En las pantallas de Cumplimiento y Git Health el operador también puede encolar un análisis de un proyecto en nombre del workspace. La ejecución se registra como disparada por operator y no se atribuye a ningún usuario del inquilino, de modo que una acción de soporte nunca parece algo hecho por el cliente.
Ajustes
Sección titulada «Ajustes»Una pantalla con pestañas: Licencia (con los límites concedidos), Correo (SMTP/Postmark, con envío de prueba), Correos de informes, Asistente de IA (ver Archito, el asistente), Registro e invitaciones - el interruptor de autorregistro, la lista de dominios de correo invitables y el interruptor de doble factor de la instalación -, Panel, Módulos (apagar un módulo detiene también sus trabajos programados), LDAP, Turnstile, Idiomas y Analítica. Cuando la licencia caduca, la instalación sigue funcionando durante un periodo de gracia de 14 días; al terminar, la instalación se detiene hasta que se instale una licencia nueva - consulte Mantener la licencia vigente para saber qué significa y qué más puede detenerla.
La pestaña Licencia también muestra el código de instalación. Una licencia funciona en una sola instalación: la primera instalación que la obtiene en línea la vincula a sí misma, y otra instalación que solicite la misma licencia es rechazada. Una instalación aislada envía este código a AppArch y recibe un archivo .lic que solo funciona en esta instalación. Varios pods que comparten una misma base de datos cuentan como una sola instalación. Para trasladarse a un servidor nuevo, pida a AppArch que libere la licencia y luego vuelva a obtenerla desde el servidor nuevo - consulte Una licencia, una instalación.
Zona de peligro - restablecimiento de fábrica
Sección titulada «Zona de peligro - restablecimiento de fábrica»Ajustes > Zona de peligro devuelve la instalación al primer arranque: se eliminan todos los espacios, miembros, invitaciones, cuentas de usuario, credenciales Git (incluidas las compartidas), proyectos, integraciones, análisis, hallazgos e informes, y los contadores de identidad vuelven a empezar. Las cuentas de administrador, la licencia, las credenciales de instalación, los ajustes, las traducciones y los catálogos de reglas se conservan, así que el asistente de instalación no vuelve a ejecutarse: la aplicación simplemente se queda sin usuarios ni espacios. No hay vuelta atrás; haz antes una copia de la base de datos (docker compose exec postgres pg_dump ...).
El restablecimiento es difícil de disparar a propósito:
- Contraseña - solo un administrador con todos los permisos puede iniciarlo, y debe volver a escribir su contraseña.
- Código por correo - se envía un código de seis dígitos a la dirección de ese administrador (válido 15 minutos, cinco intentos). El correo saliente debe estar configurado; no hay otra forma de confirmar.
- Confirmación escrita - el nombre del cliente licenciado, tal como se muestra.
- Ventana de diez minutos - el borrado se programa, cada administrador activo recibe un correo con enlace y cualquiera puede cancelar hasta que la ventana se cierre. Después el trabajo arranca en menos de treinta segundos y ya no se puede detener.
Cada solicitud queda registrada en la base de administración: quién la inició, desde qué dirección y cuántas filas se eliminaron por tabla. Los administradores reciben un correo final con los totales. Un interruptor opcional elimina también la licencia, solo para entregar la instalación a otro cliente.
Operación
Sección titulada «Operación»- Actualizaciones - versión instalada frente al registro del proveedor, por componente, con botón de comprobar ahora. La comprobación pasa por la pasarela del proveedor con las credenciales de instalación; las instalaciones aisladas la apagan con
UpdateCheck:Enabled=false. - Avisos de seguridad - los datos de vulnerabilidades con los que se compara cada dependencia analizada, por registro, y la importación OSV que los actualiza. Véase más abajo.
- Hallazgos - lo que la instalación notó sobre sí misma: un trabajo que falló, un proyecto cuya sincronización sigue fallando, un correo sin más intentos, una fila rechazada por la base. Una fila por problema con su frecuencia y el último error; se cierra sola cuando el sujeto vuelve a funcionar. Marcar como visto, cerrar a mano o silenciar un tipo solo para ti. Los hallazgos abiertos aparecen como insignia en la barra lateral y como aviso en la portada.
- Trabajos - cada trabajo programado con botón de ejecutar ahora.
- Capacidad (su propia página bajo Sistema) - carga medida de los trabajos (duración media de cada uno sobre su intervalo, sumada) frente a los hilos de un pod Api, los pods vivos de la tabla de clúster de Quartz con su CPU y memoria reales, la carga por grupo de módulos, los trabajos más pesados con filtro por categoría y ordenación por columna, y una recomendación: un pod lleva la carga pero se aconsejan dos para reinicios sin corte, o N pods cuando la carga duplicada supera un pod. Aparece tras siete días de historial.
- Salud del sistema - sondas en vivo de PostgreSQL y Redis (nunca en caché) más el estado del planificador. Para sondas de orquestador usa los puntos sin autenticación
/health/livey/health/ready- ver instalación on-prem. - Integraciones - inventario de todo con lo que habla la instalación, por espacio, sin secretos.
- Usuarios, invitaciones, administradores - gestión de cuentas de ambos planos.
Avisos de seguridad
Sección titulada «Avisos de seguridad»Cada ejecución de ArchScan informa las dependencias que declara el repositorio. La Api compara esa lista con el catálogo de avisos de la propia instalación y abre un hallazgo por cada paquete cuya versión instalada cae dentro de una ventana vulnerable publicada (CWE-1104, asignado a OWASP A06 y a los controles PCI, STIG y CASA). La comparación ocurre aquí y no en el runner: un trabajo de CI en la red del cliente no puede llegar a un servicio de CVE, y una imagen de collector fijada hace un año traería datos de hace un año.
El producto incluye una base curada para los ocho registros que leen los collectors: NuGet, npm, PyPI, Maven (Java y Kotlin), Go, RubyGems, Packagist y SwiftPM. Los datos de vulnerabilidades envejecen en semanas, así que actualícelos en Administración → Avisos de seguridad: en una máquina con internet descargue el export del registro que necesite desde osv.dev (osv-vulnerabilities/<registro>/all.zip), una los registros en un único array JSON y suba el archivo. El siguiente análisis se compara con él, sin reconstruir imágenes y sin llamadas salientes.
Una importación añade y actualiza; nunca borra una fila ni vuelve a habilitar un aviso que un operador desactivó tras un falso positivo. La pantalla también muestra qué registros no tienen ningún aviso, porque eso equivale a un lenguaje cuyas dependencias nadie está revisando.
Inicio de sesión de administrador y bloqueo
Sección titulada «Inicio de sesión de administrador y bloqueo»Cada intento de inicio de sesión en la administración queda registrado - quién, desde qué dirección, con qué navegador y por qué falló (contraseña incorrecta, correo desconocido, cuenta inactiva, cuenta bloqueada). El rastro está en Auditoría > Inicios de sesión.
Tras cinco intentos fallidos la cuenta se bloquea quince minutos. El bloqueo es por cuenta, no por dirección: cada inicio de sesión llega a la API a través del pod de interfaz, así que un bloqueo por dirección contaría una sola máquina. Una cuenta bloqueada se marca en la lista de administradores y cualquier administrador con el permiso Administradores puede desbloquearla sin esperar.
Cada token de operador pertenece ahora a una sesión, y Mis sesiones (desde la pantalla de administradores) las lista: dispositivo, dirección, cuándo empezó y cuándo se usó por última vez, con la que está mirando marcada. Terminar una sesión cierra ese navegador en su siguiente petición, y después tampoco puede renovarse: «cerrar ese portátil» significa justo eso, en lugar de durar hasta que el token caduque por su cuenta. Terminar todas las demás sesiones limpia el resto en una sola acción.
Un administrador con el permiso Administradores también puede cerrar la sesión de un compañero en todas partes sin tocar su cuenta. Antes la única forma era desactivarlo, y eso le quita el acceso hasta que alguien recuerde volver a activarlo.
Eliminar un administrador
Sección titulada «Eliminar un administrador»Eliminar administrador en la lista retira la cuenta: desaparece de la lista, no puede iniciar sesión, sus sesiones abiertas terminan de inmediato y su dirección de correo queda libre para quien lo sustituya.
La fila en la base de datos permanece, y es deliberado. La pista de auditoría, el historial de inicios de sesión y cada referencia de «modificado por» nombran a su actor por el identificador de esa cuenta, sin clave foránea detrás. Borrar la fila dejaría a todas ellas diciendo «alguien»: la pista sobreviviría a la cuenta pero habría olvidado quién estaba en ella. Por eso la cuenta se vacía y se oculta en todos los sitios donde aún podría usarse.
No puede eliminar su propia cuenta: una petición que destruye sus propias credenciales a mitad de camino es una forma confusa de decir «cerrar sesión», y un clic equivocado le dejaría fuera del panel. Para su propia cuenta, pídaselo a un compañero.
Qué protege cada permiso
Sección titulada «Qué protege cada permiso»Los permisos de un administrador deciden qué puede hacer, no solo qué ve - la API rechaza la llamada en cualquier caso:
- Licencia - instalar y sustituir la licencia.
- Usuarios - suspender, reactivar y eliminar cuentas, restablecer contraseñas.
- Administradores - crear administradores, cambiar permisos, desbloquear.
- Ajustes - todas las pestañas de ajustes, los ajustes de integración y las credenciales compartidas.
- Workspaces - ciclo de vida: propiedad, pertenencia, interruptores de invitación, eliminar y restaurar.
- Datos - borrado físico: purga de workspace, borrado de una ejecución o una revisión.
- Operación - pausar y reanudar trabajos, exportaciones, envío de correo.
Un administrador sin un permiso no ve el grupo de menú al que pertenece, y los endpoints correspondientes responden 403.
Eliminar un usuario
Sección titulada «Eliminar un usuario»La página de un usuario muestra los workspaces a los que pertenece y, si no es propietario de ninguno, la acción Eliminar usuario. Quita cada pertenencia, inicio de sesión externo, alta de doble factor y códigos de recuperación, revoca sus sesiones y limpia la identidad - el historial de inicios de sesión y la pista de auditoría permanecen, porque son el registro de lo ocurrido. Quien todavía es propietario de un workspace no puede eliminarse: transfiera antes la propiedad, que es una sola acción en la página del workspace.