# Roles

> La raíz Roles de acceso de la página Usuarios, la lista de roles con sus bandas de alcance, y el panel de rol donde se establecen el nombre, la descripción y los interruptores de permiso de un rol, incluidos los dos roles fijos.

La raíz **Roles de acceso** tiene un nodo por rol. Un rol es un conjunto de interruptores de permiso con
nombre; los usuarios se ligan a él, y editarlo cambia de golpe a todos los usuarios que lo
tienen. La estación viene con seis roles. Dos son fijos: **Sin sesión iniciada** (el rol en
vigor antes de que nadie inicie sesión) y **Admin** (acceso completo). Cuatro son propuestas
corrientes, editables y eliminables: **Viewer**, **Operator**, **Maintainer** y **Developer**.

Como la raíz Usuarios, esta raíz y sus hijos son de un administrador en este circuito (Gestionar
los usuarios locales). Cualquier otro ve la raíz sin hijos y, detrás de ella, el aviso que dice
que inicie sesión como administrador. En una estación que todavía no tiene usuarios, el aviso
dice en cambio: "Los roles ya están sembrados, pero cambiar uno exige un administrador, y esta
estación no tiene ninguno todavía. Configure primero los usuarios locales: el administrador
principal es el primero."

## La lista de roles {#the-role-list}

Al abrir la raíz se muestra la tarjeta **ROLES DE ACCESO**, con la línea "Cada rol llega a
estas áreas, a la profundidad que muestra su banda. Editar un rol cambia a todos los usuarios
que lo tienen, y editar el primero cambia lo que puede hacer cualquier pantalla antes de que
alguien inicie sesión." y una fila por rol, en un orden fijo:

| Fila | Marcas | Línea inferior |
| --- | --- | --- |
| Sin sesión iniciada | Un glifo de persona andando y la ficha **En vigor antes de un inicio de sesión**. | Su descripción, "Lo que cualquiera puede hacer en esta estación sin iniciar sesión." |
| Admin | Un glifo de candado y la ficha **Acceso completo · bloqueado**. | Su descripción, "Acceso completo a todas las áreas, más la gestión de usuarios." |
| Todos los demás roles | | Su descripción cuando la tiene; si no, un resumen en vivo de su alcance ("Puede cambiar {n} de 6 áreas", "Solo lectura" o "Sin acceso"), de modo que una descripción vacía no deja nunca la fila en blanco y una caducada no se queda ahí. |

Los roles editables siguen en orden alfabético del nombre que muestra la fila, sin distinguir mayúsculas de minúsculas, así que un rol recién creado o renombrado ocupa su lugar entre ellos. La columna y la lista desplegable de roles del panel de un usuario muestran los roles en el mismo orden.

Cada fila lleva detrás su banda de alcance compacta, seis marcas en el mismo orden en todas
partes, así que los roles se leen como una escalera y no como una lista de nombres. Sin ningún
rol editable, la tarjeta dice "Sin sesión iniciada y Admin son los únicos roles de esta
estación. Nuevo rol construye uno para el trabajo que el banco de pruebas hace de verdad."

Al hacer clic en una fila se abre el nodo de ese rol. En la columna, cada nodo de rol lleva
detrás la misma banda compacta; el nodo Sin sesión iniciada lleva el glifo de persona andando
entre las llaves.

## Los roles de fábrica {#the-factory-roles}

| Rol | Descripción tal como viene | Lo que tiene |
| --- | --- | --- |
| Sin sesión iniciada | Lo que cualquiera puede hacer en esta estación sin iniciar sesión. | Todo salvo Gestionar los usuarios locales y Acceso remoto (LAN). |
| Admin | Acceso completo a todas las áreas, más la gestión de usuarios. | Todos los permisos; fijo. |
| Viewer | Solo lectura en toda la estación. | Ver los paneles de control, Ver Connector, Consultar los modelos, Ver los históricos, Ver Logic, Ver Validación, Ver los eventos, Acceso remoto (LAN). |
| Operator | Lleva la línea día a día. Opera los paneles de control y Logic, ejecuta procedimientos. | Viewer más Operar los paneles de control, Operar Logic, Ejecutar procedimientos. |
| Maintainer | Operator, más calibrar y configurar el connector, exportar datos y gestionar los ensayos registrados. | Operator más Calibrar tags, Configurar Connector, Exportar/importar históricos, Gestionar los históricos. |
| Developer | Construye sinópticos, lógica y procedimientos: todo salvo la administración de la estación. | Maintainer más Editar los paneles de control, Configurar Logic, Gestionar Process (que trae consigo Editar recetas y evaluaciones). |

La escalera es una propuesta, no un contrato: Viewer, Operator, Maintainer y Developer se pueden
renombrar, editar y eliminar. La siembra se ejecuta una sola vez, en una estación cuya tabla de
roles está vacía; una semilla eliminada no vuelve. Sin sesión iniciada es permisivo por diseño,
de modo que una estación recién instalada funciona por completo sin que nadie inicie sesión, y
estrecharlo es un acto deliberado.

Ninguno de los seis nombres ni de las seis descripciones de arriba es una palabra guardada: la
estación conserva una clave de cada uno y la lee en el idioma de la interfaz, de modo que la lista
se lee como el resto de la pantalla. Si renombra uno, o escribe una descripción propia, la estación
guarda lo que usted escribió: a partir de ahí ese rol se lee igual sea cual sea el idioma de la
interfaz.

## El panel de un rol {#the-role-panel}

El panel de un rol guarda a medida que usted trabaja: el nombre y la descripción al salir del
campo, un interruptor en el momento en que se acciona. Mientras está seleccionado un rol que
otra pantalla acaba de eliminar, el panel dice "Ese rol ya no está en esta estación. Elija otro
en la columna." Mientras el runtime está detenido el panel no aparece siquiera: la página cede
su sitio al aviso de pausa, como todas las pantallas salvo [Cuenta](account) (véase
[Usuarios](users#what-the-page-does-not-do)).

### Cabecera, nombre y descripción {#head-name-and-description}

La cabecera lleva el glifo que la fila del rol lleva en la columna (una llave, o la persona
andando en Sin sesión iniciada), el nombre del rol y, bajo el nombre, una línea que dice lo que
es el rol. Admin lleva la ficha **Acceso completo · bloqueado**. Sin sesión iniciada lleva una
ficha que dice cuán abierta está la estación a quien no ha iniciado sesión, y su línea es la
frase que acompaña a esa ficha:

| Ficha | Cuándo | Frase |
| --- | --- | --- |
| Abierta | Tres áreas o más en Operar o Gestionar. | "Sin iniciar sesión, cualquiera en esta estación puede operar o configurar {n} de 6 áreas. Apague interruptores abajo para estrecharlo." |
| Restringida | Una o dos áreas en Operar o Gestionar. | "Sin iniciar sesión, cualquiera en esta estación puede cambiar {n} de 6 áreas; el resto es de solo lectura o está apagado." |
| Solo lectura | Ninguna área por encima de Ver. | "Sin iniciar sesión, cualquiera en esta estación puede ver lo que muestra la banda de abajo, y no puede cambiar nada." |

En todos los demás roles, Admin incluido, la línea es la descripción del rol, leída como la lee
la lista: la de un rol de fábrica en el idioma de la interfaz, la que escribió un administrador
exactamente como la escribió. Un rol sin descripción muestra ahí "Un conjunto de permisos, que
lleva puesto todo usuario que lo tiene.", mientras que su fila en la lista muestra el resumen del
alcance.

| Campo | Qué es | Valores / valor por defecto | Efecto |
| --- | --- | --- | --- |
| Nombre del rol | El nombre que usan la columna, la lista y el selector de un usuario. | Hasta 60 caracteres; un rol nuevo empieza como **Nuevo rol**; un nombre en blanco conserva el anterior. Bloqueado en Sin sesión iniciada y en Admin. | Se confirma al salir del campo; el registro informa de "Rol renombrado a '{name}'." |
| Descripción | La línea inferior del rol en la lista y la línea bajo su nombre en la cabecera. | Hasta 200 caracteres, con el marcador de posición "Para qué sirve este rol". Oculta en Sin sesión iniciada; de solo lectura en Admin. | Se confirma al salir del campo; el registro informa de "Descripción de '{name}' guardada." |

Bajo el campo del nombre, los roles fijos llevan una nota: "El rol Admin es fijo. Siempre tiene
acceso completo y puede gestionar los usuarios locales." y "Sin sesión iniciada es el rol que
rige cuando nadie ha iniciado sesión. Sus permisos son editables; el rol en sí no se puede
renombrar, eliminar ni asignar a un usuario." La indicación de la descripción dice "Se muestra
bajo el nombre del rol. Actualícela cuando cambie lo que el rol puede hacer."

Bajo los campos, la tarjeta lee el alcance del rol en vivo: el resumen, las palabras **sigue los
interruptores de abajo**, y la banda rotulada. Se rehace en cada accionamiento, antes de que la
escritura vuelva. Nunca edita: el área Sistema mezcla interruptores independientes, así que una
marca no se puede rastrear hasta uno de ellos.

### Permisos {#permissions}

La tarjeta **PERMISOS** abre con una de tres entradillas:

- Admin: "El rol Admin siempre tiene acceso completo, así que sus interruptores son fijos. Es el
  rol que puede gestionar los usuarios, y la estación conserva uno."
- Sin sesión iniciada: "Cada interruptor se aplica en cuanto usted lo cambia, a todas las
  pantallas donde nadie ha iniciado sesión."
- Todos los demás roles: "Cada interruptor se aplica en cuanto usted lo cambia, a este rol y a
  todos los usuarios que lo tienen."

Después, un grupo por área, encabezado por el glifo del área, su nombre y un contador, "{on} de
{total}": Paneles de control (3), Connector (3), Process (4), Históricos (3), Logic (3),
Validación (1) y Sistema (5). Cada fila es una etiqueta, una descripción y un interruptor. El
catálogo completo, con cada etiqueta y cada descripción tal como se leen, está en la página
[Permisos](users-permissions).

Un interruptor está bloqueado, y no se puede accionar, en cuatro casos:

| Interruptor bloqueado | Por qué | Cómo se lee |
| --- | --- | --- |
| Todos los interruptores de Admin | La máscara de Admin es fija. | Encendido, atenuado, sin etiqueta. |
| Gestionar los usuarios locales en todos los demás roles | Exclusivo de Admin. | Apagado, atenuado. |
| Ver los paneles de control | El suelo; no se puede revocar nunca. | Encendido, atenuado, con la etiqueta **Obligatorio**. |
| Un requisito previo cuyo dependiente está encendido | Encender el dependiente lo encendió y lo mantiene ahí. | Encendido, atenuado, con la etiqueta **Obligatorio**. |

Encender un interruptor enciende también lo que él exige (Operar los paneles de control enciende
Ver los paneles de control; Gestionar Process enciende Editar recetas y evaluaciones, Ejecutar
procedimientos y Consultar los modelos). Apagar un interruptor apaga también todo lo que lo
exigía (apagar Ver Connector se lleva consigo Calibrar tags y Configurar Connector). Las reglas
están en la página [Permisos](users-permissions#implication-rules). Cada accionamiento escribe
el rol entero de una vez y el registro informa de "{Label}: encendido para '{role}'." o
"{Label}: apagado para '{role}'."; una escritura que la estación rechaza devuelve los
interruptores a lo que ella tiene realmente e informa de "No se pudo guardar el rol: {reason}".

La estación también normaliza lo que guarda: un rol que no es Admin nunca conserva Gestionar los
usuarios locales, y toda máscara guardada lleva sus requisitos previos, así que un rol es
siempre coherente consigo mismo.

### En vigor para, o Lo tienen {#in-force-for-or-held-by}

La última tarjeta es distinta en el rol de acceso libre y en todos los demás:

- En Sin sesión iniciada, **EN VIGOR PARA** dice "Todas las pantallas donde nadie ha iniciado
  sesión, la de la propia estación y cualquier dispositivo que la mire. A nadie se le da este
  rol; es lo que rige hasta que alguien inicia sesión, y al iniciar sesión se cambia por el rol
  propio de ese usuario." y "Como la estación depende de que esté aquí, este rol se queda: sus
  permisos son suyos, su nombre y su existencia no."
- En todos los demás roles, **LO TIENEN** enumera los nombres visibles de los usuarios que lo
  tienen, con "Cada interruptor que cambie aquí cambia lo que todos ellos pueden hacer." Sin
  nadie, dice "Ningún usuario tiene todavía este rol. Asígnelo en la página propia de un
  usuario, en Usuarios."

## Crear y eliminar un rol {#creating-and-deleting-a-role}

**Nuevo rol**, en el pie de la columna, crea un rol que empieza en el suelo: Ver los paneles de control y Enviar avisos a Ganter encendidos, todo lo demás apagado, descripción vacía. El rol nuevo no se abre: su fila queda resaltada y desplazada hasta quedar a la vista en la lista de roles, y pulsar la fila lo abre. Añada alcance deliberadamente; y
tenga en cuenta que un rol en blanco no tiene Ver los eventos, que sí tienen todos los roles de
fábrica. **Eliminar el rol**, en la barra de detalle, pregunta "¿Eliminar el rol '{name}'? Esta
acción no se puede deshacer." y se rechaza, atenuado y con el motivo, sobre cualquiera de los
dos roles fijos ("{Name} es un rol fijo: la estación depende de que esté aquí."), y mientras
algún usuario lo tenga todavía ("Este rol lo tienen algunos usuarios. Muévalos antes a otro
rol.").

## Cómo llega un cambio a todo el mundo {#how-a-change-reaches-everyone}

Los roles viven en un único servicio que lee toda la estación. Un interruptor accionado llega de
golpe a todos los usuarios que tienen el rol en todas las conexiones: la ventana de la estación,
todos los navegadores, todos los operadores con la sesión iniciada. Una pantalla vuelve a
comprobar el rol en cada pulsación, así que a un operador cuyo rol acaba de perder un permiso se
le rechaza el comando en la pulsación siguiente aunque la pantalla ya estuviera dibujada. Un
usuario cuyo rol se elimina por debajo cae al suelo. Un panel de control cuya lista **Visible
para** nombraba el rol eliminado trata esa entrada como inerte, así que el panel de control no
se vuelve nunca inalcanzable.

## Lo que el panel no hace {#what-the-panel-does-not-do}

- No asigna usuarios. Eso es el selector Rol de la página de cada usuario, en
  [Usuarios](users-local-users#role).
- No cambia Admin: ni sus interruptores, ni su nombre, ni su existencia.
- No renombra ni elimina Sin sesión iniciada, y no lo ofrece en el selector Rol de ningún
  usuario.
- No se dibuja mientras el runtime está detenido, ni en la ventana de la estación ni en ningún
  navegador: la página cede su sitio al aviso de pausa, así que ningún rol se puede crear,
  renombrar, describir ni eliminar, ni se acciona ninguno de sus interruptores, hasta que se
  reinicie el runtime.
- No puede conceder Gestionar los usuarios locales a ningún rol que no sea Admin, y no puede
  revocar Ver los paneles de control a ningún rol.
