Gateway
Ámbitos del operador
Los ámbitos de operador determinan lo que un cliente del Gateway puede hacer después de autenticarse. Son una medida de protección del plano de control dentro de un único dominio de operadores de confianza del Gateway, no un aislamiento multiinquilino frente a actores hostiles. Para establecer una separación sólida entre personas, equipos o máquinas, ejecute Gateways independientes con usuarios del sistema operativo o hosts distintos.
Relacionado: Seguridad, Protocolo del Gateway, Emparejamiento del Gateway, CLI de dispositivos.
Roles
Cada cliente WebSocket del Gateway se conecta con un rol:
operator: clientes del plano de control, como la CLI, la interfaz de control, la automatización y los procesos auxiliares de confianza.node: hosts de capacidades (macOS, iOS, Android, sin interfaz gráfica) que exponen comandos mediantenode.invoke.
Los métodos RPC de operador requieren el rol operator; los métodos originados por nodos
requieren el rol node.
Niveles de ámbito
| Ámbito | Significado |
|---|---|
operator.read |
Estado, listas, catálogo, registros, lecturas de sesiones y otras llamadas que no realizan cambios. |
operator.write |
Acciones de operador que realizan cambios: enviar mensajes, invocar herramientas, actualizar la configuración de conversación/voz y retransmitir comandos de nodos. También satisface operator.read. |
operator.admin |
Acceso administrativo. Satisface todos los ámbitos operator.*. Es obligatorio para modificar la configuración, realizar actualizaciones, usar hooks nativos, acceder a espacios de nombres reservados y conceder aprobaciones de alto riesgo. |
operator.pairing |
Gestión del emparejamiento de dispositivos y nodos: enumerar, aprobar, rechazar, eliminar, rotar y revocar. |
operator.approvals |
API de aprobación de ejecución y plugins. |
operator.talk.secrets |
Lectura de la configuración de conversación con los secretos incluidos. |
Los ámbitos operator.* futuros y desconocidos requieren una coincidencia exacta, salvo que el autor de la llamada
ya disponga de operator.admin.
El ámbito del método es solo la primera barrera
Cada RPC del Gateway tiene un ámbito de método de privilegios mínimos que determina si una solicitud llega a su controlador. Algunos controladores aplican después comprobaciones más estrictas según el elemento concreto que se apruebe o modifique:
device.pair.approvees accesible conoperator.pairing, pero la aprobación de un dispositivo de operador solo puede emitir o conservar ámbitos que el autor de la llamada ya posea.node.pair.approvees accesible conoperator.pairingy después deriva ámbitos de aprobación adicionales de la lista de comandos declarada por el nodo pendiente.chat.sendes un método con ámbito de escritura, pero los comandos de chat/config sety/config unsetrequieren ademásoperator.admin, independientemente del ámbito de envío de chat del autor de la llamada.
Esto permite que los operadores con ámbitos inferiores realicen acciones de emparejamiento de bajo riesgo sin exigir acceso administrativo para todas las aprobaciones de emparejamiento.
Aprobaciones de emparejamiento de dispositivos
Los registros de emparejamiento de dispositivos son la fuente persistente de los roles y ámbitos aprobados. Un dispositivo ya emparejado no obtiene silenciosamente un acceso más amplio: una reconexión que solicite un rol o ámbitos más amplios crea una nueva solicitud de ampliación pendiente.
Al aprobar una solicitud de dispositivo:
- Una solicitud sin rol de operador no necesita aprobación de ámbitos de operador.
- Una solicitud para un rol de dispositivo que no sea de operador (por ejemplo,
node) requiereoperator.admin, aunquedevice.pair.approvesolo necesiteoperator.pairing. - Una solicitud de
operator.read,operator.write,operator.approvals,operator.pairingooperator.talk.secretsrequiere que el autor de la llamada ya disponga de ese ámbito o deoperator.admin. - Una solicitud de
operator.adminrequiereoperator.admin. - Una solicitud de reparación sin ámbitos explícitos puede heredar los ámbitos del token
de operador existente; si ese token tiene ámbito administrativo, la aprobación sigue requiriendo
operator.admin.
Las sesiones no administrativas con secreto compartido o proxy de confianza solo pueden aprobar
solicitudes de dispositivos de operador dentro de sus propios ámbitos de operador declarados; la aprobación
de roles que no sean de operador requiere acceso administrativo, aunque esas sesiones puedan utilizar
operator.pairing de otro modo.
En las sesiones con token de dispositivo emparejado, la gestión se limita al propio dispositivo, salvo que el autor de la llamada
disponga de operator.admin: un autor de llamadas no administrativo solo ve sus propias entradas de emparejamiento y
solo puede aprobar, rechazar, rotar, revocar o eliminar la entrada de su propio dispositivo.
Aprobaciones de emparejamiento de nodos
Los métodos heredados node.pair.* utilizan un almacén independiente de emparejamiento de nodos gestionado por el Gateway.
Los nodos WS utilizan en su lugar el emparejamiento de dispositivos (role: node), pero se aplica el mismo vocabulario
de aprobación. Consulte Emparejamiento del Gateway para conocer la relación entre ambos
almacenes.
node.pair.approve deriva ámbitos obligatorios adicionales de la lista de comandos
de la solicitud pendiente:
| Comandos declarados | Ámbitos obligatorios |
|---|---|
| ninguno | operator.pairing |
| comandos de nodo ordinarios | operator.pairing + operator.write |
system.run, system.run.prepare, system.which, browser.proxy, fs.listDir o system.execApprovals.get/set |
operator.pairing + operator.admin |
Aprobar una declaración de nodo no habilita los comandos que tienen una barrera independiente
de lista de permitidos en tiempo de ejecución. Por ejemplo, aprobar un nodo que declara
computer.act requiere emparejamiento y ámbito de escritura, pero solo registra la superficie.
Un administrador o propietario aún debe habilitar computer.act. Mientras permanezca
habilitado, invocarlo mediante el método con ámbito de escritura node.invoke no
requiere ámbito administrativo para cada acción.
El emparejamiento de nodos establece la identidad y la confianza; no sustituye la propia
política de aprobación de ejecución system.run de un nodo.
Autenticación con secreto compartido
La autenticación mediante token o contraseña compartidos del Gateway se considera acceso de operador de confianza para
ese Gateway. Las superficies HTTP compatibles con OpenAI, /tools/invoke y los endpoints HTTP
del historial de sesiones restauran el conjunto completo de ámbitos de operador predeterminado para
la autenticación de portador con secreto compartido, aunque el autor de la llamada envíe ámbitos declarados más restringidos.
Los modos que incorporan identidad, como la autenticación mediante proxy de confianza o none de entrada privada,
pueden seguir respetando los ámbitos declarados explícitamente. Utilice Gateways independientes para separar
verdaderos límites de confianza.