# Acceso de clientes

> Los certificados de las aplicaciones OPC UA que marcan a esta estación: dar de alta un cliente, revisar y confiar o bloquear certificados, las direcciones de conexión, la regla del Firewall de Windows, las sesiones vivas y la lista de confianza.

Acceso de clientes es la tercera tarjeta del panel del servidor OPC UA en Connector. Es la lista de los certificados de aplicación que el servidor integrado ha conocido y lo que usted decidió sobre cada uno: un certificado desconocido se rechaza en su primer intento y se guarda aquí para revisión, confiar en él deja que la aplicación alcance al servidor, y bloquearlo la deja afuera sin ruido. La cabeza de la tarjeta lo dice: "Un certificado de cliente identifica a la aplicación que pide conectarse. Confíe solo en una huella digital que haya verificado con quien pone en marcha ese cliente." Ver Connector lee la tarjeta; Configurar Connector decide, y toda decisión se toma en el escritorio de la propia estación.

Bajo la cabeza se para un principio: "La confianza en el certificado y el inicio de sesión son verificaciones separadas. La confianza permite que este certificado de aplicación alcance al servidor. El ajuste de Autenticación de cliente de arriba sigue decidiendo si se conecta de forma anónima o con el usuario y la contraseña configurados. Los nombres de los certificados los dice el cliente; la huella digital SHA-256 es la identidad que hay que verificar."

## Quién puede decidir {#who-may-decide}

Todos los botones de la tarjeta obedecen una sola regla, y su información emergente dice qué parte rechazó: "El acceso de clientes solo se puede cambiar en la aplicación de escritorio de la estación." en un navegador de otro dispositivo (la tarjeta muestra además el aviso "Abra la aplicación de escritorio para cambiar el acceso de clientes": un navegador remoto puede inspeccionar la lista, no cambiarla); a un rol sin Configurar Connector no se le dibujan los botones; "La configuración está bloqueada mientras una unidad está en marcha." mientras una unidad está en marcha; "Ya hay otro cambio de acceso de clientes en curso." mientras corren una decisión, una importación o el comando de firewall. Una pulsación que se cuele de todos modos se contesta con esa misma frase en la barra de estado, donde aterriza todo desenlace de esta tarjeta.

## Agregar cliente {#add-client}

| Comando | Qué hace | Atenuado cuando (situación) | No se dibuja cuando (rol) |
| --- | --- | --- | --- |
| Agregar cliente | Abre una ventana de escucha de cinco minutos: "Ventana de alta de cliente abierta durante cinco minutos. Inicie la conexión en el cliente OPC UA; si primero le pide confiar en esta estación, confírmelo allí y vuelva a intentarlo." Mientras está abierta, la cabeza muestra el tiempo restante (mm:ss) con un pulso. | Por la regla de arriba. | Se dibuja mientras no hay ninguna ventana abierta. |
| Cancelar | Cierra la ventana: "Ventana de alta de cliente cerrada. Los certificados desconocidos siguen desconectados." | Por la regla de arriba. | Se dibuja mientras hay una ventana abierta. |

La ventana explica un intento; nunca identifica a ninguno y nunca confía en nada. Mientras está abierta, la tarjeta lleva el aviso de precaución "Esperando un certificado de cliente · mm:ss": "Inicie ahora la conexión en el cliente OPC UA. Si ese cliente rechaza primero el certificado de servidor de esta estación, confirme que es esta estación Ganter Lab, confíe en ella allí y vuelva a intentarlo. El certificado del cliente aparecerá entonces en Pendientes de aprobación; Ganter Lab no confía en nada automáticamente." La ventana vence sola en su fecha límite.

### ¿Es este el cliente que está agregando? {#is-this-the-client-you-are-adding}

Un certificado que llega mientras la ventana está abierta se muestra en un aviso con ese título: "Un cliente presentó este certificado mientras Agregar cliente estaba abierto. Verifíquelo con el cliente que está poniendo en marcha antes de que esta estación lo dé por esperado. Hasta que responda, sigue siendo un certificado desconocido en la lista de abajo y sigue desconectado.", con su Nombre, su Sujeto y su Huella digital.

| Comando | Qué hace |
| --- | --- |
| Es este el cliente | Lo marca como el cliente que usted quería y cierra la ventana: "`<name>` queda confirmado como el cliente que está agregando, y la ventana de alta de cliente se cierra. Sigue desconectado hasta que confíe en él más abajo." Igual tiene que confiarse en él en Pendientes de aprobación. |
| No es este | Lo deja como un certificado desconocido cualquiera y sigue escuchando: "`<name>` sigue siendo un certificado desconocido a la espera de revisión. La ventana de alta de cliente sigue escuchando." |

Solo su respuesta o la fecha límite cierran la ventana, así que un intento de alguien más no puede ni gastarla ni tomar prestada su redacción. Una ventana nueva olvida las preguntas sin contestar de la anterior.

## Pendientes de aprobación {#pending-approval}

El grupo se dibuja mientras al menos un certificado espera, con el título "Las aplicaciones desconocidas siguen desconectadas hasta que usted decida." y el conteo. Cada fila muestra un punto ámbar, el nombre que el certificado dice tener, "Identidad de aplicación declarada", la huella digital SHA-256, "Último intento `<date and time>` · N intentos de conexión", y un desplegable **Detalles del certificado** con Sujeto, Emisor, URI de aplicación, Nombres de dominio, Válido desde, Válido hasta y Visto por primera vez. La fila a la que llevó el Revisar de una notificación queda marcada como "Seleccionado para revisión" y se desplaza a la vista.

| Comando | Qué hace | Atenuado cuando (situación) |
| --- | --- | --- |
| Confiar | Mueve el certificado a Clientes de confianza y refresca el validador vivo, para que el cliente pueda reintentar de inmediato: "`<name>` es de confianza. El cliente puede reintentar su conexión." | Por la regla de arriba. |
| Bloquear | Lo mueve a Clientes bloqueados, desconecta cualquier sesión que lo use y lo sigue rechazando sin volver a preguntar: "`<name>` está bloqueado. Los próximos intentos desde este certificado se seguirán rechazando." | Por la regla de arriba. |
| Descartar todos los certificados pendientes (en la cabeza del grupo, en tinta de peligro) | Pregunta "¿Descartar el certificado que espera revisión?" o "¿Descartar los N certificados que esperan revisión?" ("Con esto no se confía en nada ni se bloquea nada: las solicitudes se quitan y la lista vuelve a tener espacio. Un cliente que se conecte después de esto aparece aquí como una solicitud nueva."), con **Descartar** y **Mantener la lista**. Después: "Se descartaron N certificados que esperaban revisión." | Por la regla de arriba. |

Un certificado se queda desconectado hasta que usted decida; los reintentos actualizan su conteo de intentos y la hora del último intento sin una segunda notificación.

### La lista de revisión está llena {#the-review-list-is-full}

La lista guarda como máximo 100 certificados. Mientras está llena, un certificado desconocido más se sigue rechazando pero no se retiene, y la tarjeta lo dice en un aviso de precaución: "La lista de revisión de abajo está llena. Mientras lo esté, un certificado nuevo se rechaza sin llegar a agregarse aquí, así que puede que el cliente que espera no aparezca nunca. Descarte los certificados que esperan revisión para hacer espacio.", o, una vez que hubo descartes, "…y 1 certificado se ha rechazado sin agregarse aquí desde que se llenó. El cliente que usted espera puede ser ese…" o "…y N certificados se han rechazado…". Cada uno de esos rechazos queda registrado además en el diario. El contador se restablece en cuanto vuelve a haber lugar.

## Direcciones de conexión {#connection-addresses}

"Use la dirección que corresponda al lugar donde se ejecuta el cliente." Dos direcciones de solo lectura: **Esta computadora**, `opc.tcp://localhost:<port>/UA/GanterLab`, para un cliente en la propia estación, y **Red local**, `opc.tcp://<network name>:<port>/UA/GanterLab`, para un cliente en otro lugar de la LAN. El nombre y el puerto son los de [Configuración](connector-opcua-configuration): el nombre escrito en **Nombre de red**, o el de la propia computadora mientras ese campo esté vacío.

## Firewall de Windows {#windows-firewall}

Un punto y una frase dicen si la regla de entrada que es de la aplicación permite el puerto actual, con una sola acción cuando no lo permite.

| Estado | Texto |
| --- | --- |
| Permitido (verde) | "Las conexiones OPC UA entrantes están permitidas en el puerto N para las redes privadas y de dominio." |
| Sin configurar (ámbar) | "Puede que los clientes de red queden bloqueados porque ninguna regla propia de la aplicación permite el puerto N." Se dibuja el botón **Permitir la red local**. |
| No compatible (gris) | "Este arranque no puede administrar el Firewall de Windows. Configure el acceso entrante en el sistema operativo si hace falta." Un lanzamiento de desarrollo, portátil o de demostración, o cualquier corrida que no sea la aplicación instalada. |
| Desconocido (gris) | "No se pudo determinar el estado del Firewall de Windows." |

| Comando | Qué hace | Atenuado cuando (situación) |
| --- | --- | --- |
| Permitir la red local | Arranca elevado el ayudante propio de la aplicación, así que Windows pide la aprobación del administrador, y agrega la regla para el puerto, con el alcance de los perfiles Privado y de Dominio y de la subred local. Mientras tanto dice "Aplicando…", y después "El Firewall de Windows ya permite conexiones OPC UA en el puerto N." o el texto del estado como error; un aviso de aprobación cancelado deja el estado en Sin configurar. | Por la regla de arriba (un navegador de otro dispositivo no lo puede presionar). |

El estado se vuelve a leer cuando abre la página y cada vez que cambia la configuración; por eso un cambio de puerto muestra Sin configurar hasta que usted permita el puerto nuevo. La regla cubre solo el puerto de OPC UA; el panel de control web tiene su propia regla, que aplica solo el [Acceso remoto](remote-access).

## Conectados ahora {#connected-now}

"Sesiones OPC UA en curso aceptadas por el servidor.", con el conteo. Una tabla enumera cada sesión: Estado (un punto verde, "En vivo"), Sesión (el nombre que le dio el cliente), Cliente declarado (la aplicación o el anfitrión que informa el cliente), Usuario (la identidad con la que inició sesión, o Anónimo) y Conectado (la hora del día a la que se conectó). Cuando no hay ninguna: "No hay ningún cliente OPC UA conectado." La lista se lee de nuevo cada segundo y está vacía mientras el servidor está detenido.

## Clientes de confianza {#trusted-clients}

"Certificados autorizados a establecer futuras conexiones seguras.", con el conteo. Cada fila muestra un punto neutro, el nombre declarado, "Identidad de aplicación declarada · Se confió por `<user>` el `<date and time>`" (o "en esta estación" cuando no había nadie con la sesión iniciada), la huella digital, y un desplegable de detalles con Sujeto, Emisor, URI de aplicación, Nombres de dominio, Válido hasta y Visto por última vez. Cuando no hay ninguno: "No hay ningún certificado de cliente de confianza."

| Comando | Qué hace | Atenuado cuando (situación) |
| --- | --- | --- |
| Importar un certificado (en la cabeza del grupo) | Abre un selector de archivos para el certificado público del cliente (`.der`, `.cer`, `.crt` o `.pem`, hasta 64 KB) y confía en él antes de su primera conexión: "`<name>` es de confianza desde `<file>`. Verifique la huella digital de abajo con la que declara el cliente." Un archivo más grande se rechaza: "`<file>` es más grande que un certificado de cliente. Importe el archivo del certificado público (.der, .cer o .pem), no un archivo comprimido."; un archivo que no es un certificado: "No se pudo importar `<file>`: …". | Por la regla de arriba. |
| Revocar (en la fila, en tinta de peligro) | Pregunta "¿Revocar `<name>`?": "Este certificado dejará de ser de confianza y se desconectarán las sesiones que lo estén usando. El cliente tendrá que pasar otra vez por la revisión antes de poder reconectarse.", con **Revocar** y **Mantener la confianza**. Después el certificado queda bloqueado, sus sesiones se cierran y el validador se refresca: "Se revocó la confianza en `<name>`. Las sesiones nuevas y las reconexiones quedan bloqueadas; el servidor también pidió cerrar las sesiones activas que coincidían." | Por la regla de arriba. |

La ayuda que va bajo la cabeza dice para qué existe la importación: "¿Ya tiene el certificado público del cliente? Impórtelo aquí para confiar en él antes de su primera conexión, en vez de dejar que la conexión falle una vez. Verifique la huella digital que agrega con la que declara el cliente." Importar un certificado que estaba bloqueado levanta el bloqueo.

## Clientes bloqueados {#blocked-clients}

Un desplegable plegado, "Clientes bloqueados" con el conteo, dibujado solo mientras existe al menos uno. Cada fila muestra un punto rojo, el nombre declarado, "Identidad de aplicación declarada · Bloqueado por `<user>` el `<date and time>`", la huella digital, y **Desbloquear**, que regresa el certificado a Pendientes de aprobación sin confiar en él: "`<name>` está desbloqueado y volvió a quedar pendiente de revisión." Un certificado bloqueado no levanta avisos repetidos y se queda afuera hasta que usted vuelva a decidir.

## Cómo se entera usted de un intento {#how-you-learn-of-an-attempt}

Un primer intento de una aplicación desconocida levanta una sola tarjeta de notificación persistente en el shell, "Cliente OPC UA a la espera de aprobación" (o "N clientes OPC UA a la espera de aprobación"), que nombra el certificado más reciente y los primeros caracteres de su huella digital, con una acción **Revisar** que abre esta sección en esa fila. Con la ventana escondida, una notificación de Windows dice "Intento de conexión OPC UA bloqueado", o "Certificado OPC UA esperando su verificación" cuando el intento llegó durante Agregar un cliente. La tarjeta sigue a la lista: se reemplaza conforme llegan certificados y se descarta cuando no queda nada pendiente; un arranque con solicitudes ya en espera restaura una sola tarjeta de resumen discreta y ninguna notificación de Windows. El cliente en sí ve un error de certificado no confiable hasta que usted confíe en él.

## Dónde viven las decisiones {#where-the-decisions-live}

Los almacenes son almacenes de directorio de OPC UA bajo `ua\pki` en la raíz de datos de la estación (`trusted`, `pending`, `blocked`, el almacén de diagnóstico `rejected` del propio SDK, y `own` para el certificado de la estación), con los conteos de intentos y las decisiones en `client-access.json`. Una decisión se escribe en el almacén antes de anunciarse, así que la pantalla y el validador vivo no se pueden contradecir nunca; los almacenes se reconcilian en cada arranque, y un bloqueo explícito siempre le gana a la confianza, que le gana a una solicitud pendiente. No son parte de una [copia de seguridad](settings-backups) de la configuración.

## Lo que esta sección no hace {#what-this-section-does-not-do}

Nunca se confía en nada de forma automática: ningún almacén vacío habilita la aceptación, y no hay integración con un servidor de descubrimiento. La tarjeta no crea certificados para los clientes, no desconecta una sesión suelta sin revocar su certificado, no concede derechos por cliente (una aplicación de confianza tiene los derechos que le da el modo de autenticación), y no administra los certificados de los equipos que marca la estación, que están en [Acceso a los equipos](driver-opc-ua#equipment-access).
