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.
operator; los métodos originados por nodos
requieren el rol node.
Niveles de ámbito
Los ámbitos
operator.* futuros y desconocidos requieren una coincidencia exacta, a menos que el autor de la llamada
ya posea operator.admin.
El ámbito del método es solo la primera barrera
Cada RPC del Gateway tiene un ámbito de método con privilegios mínimos que decide si una solicitud llega a su controlador. Los métodos que tienen en cuenta los parámetros derivan ese ámbito antes del despacho, de modo que los errores de autorización tengan una única respuesta estructurada canónica:agentnecesitaoperator.writepara los turnos ordinarios yoperator.adminpara los comandos del ciclo de vida de la sesión/newo/reset.node.invokenecesitaoperator.writepara los comandos de retransmisión ordinarios yoperator.adminparabrowser.proxy,fs.listDiryterminal.upload.talk.confignecesitaoperator.read;includeSecrets: truetambién necesitaoperator.talk.secrets.
device.pair.approvees accesible conoperator.pairing, pero al aprobar un dispositivo de operador solo se pueden emitir o conservar los ámbitos que ya posee el autor de la llamada.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.
client.id o client.mode del cliente que se conecta. La identidad del
cliente puede seguir afectando a la política de conexión y autenticación de dispositivos, pero no
concede ni elimina la autoridad para modificar sesiones.
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 solicita un rol o ámbitos más amplios crea una nueva solicitud de actualización pendiente. Al aprobar una solicitud de dispositivo:- Una solicitud sin rol de operador no necesita aprobación del ámbito 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.questions,operator.pairingooperator.talk.secretsrequiere que el autor de la llamada ya posea ese ámbito ooperator.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.
operator.pairing de otro modo.
En las sesiones con tokens de dispositivos emparejados, la gestión se limita al propio dispositivo, salvo que el autor de la llamada
tenga operator.admin: un autor de llamada que no sea administrador 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étodosnode.pair.* heredados usan un almacén de emparejamiento de nodos independiente propiedad del Gateway.
En cambio, los nodos WS usan el emparejamiento de dispositivos (role: node), pero se aplica el mismo
vocabulario de aprobación. Consulte Emparejamiento del Gateway para saber cómo se relacionan ambos
almacenes.
node.pair.approve deriva ámbitos obligatorios adicionales de la lista de
comandos de la solicitud pendiente:
Aprobar una declaración de nodo no habilita comandos que tengan 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 activar computer.act. Mientras permanezca
activado, invocarlo mediante node.invoke requiere ámbito de escritura, pero no ámbito
administrativo para cada acción.
El emparejamiento de nodos establece identidad y confianza; no sustituye la propia
política de aprobación de ejecución system.run de un nodo.
Autenticación mediante 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 predeterminado completo de ámbitos de operador para la
autenticación de portador mediante secreto compartido, incluso si el autor de la llamada envía ámbitos declarados más restringidos.
Los modos que incluyen identidad, como la autenticación mediante proxy de confianza o none de ingreso privado,
pueden seguir respetando los ámbitos declarados explícitamente. Use Gateways separados para una separación real de los
límites de confianza.