Rollen
Gateway WebSocket-clients maken verbinding met één rol:operator: control-plane-clients zoals CLI, Control UI, automatisering en vertrouwde helperprocessen.node: capaciteitshosts zoals macOS, iOS, Android of headless nodes die opdrachten beschikbaar stellen vianode.invoke.
operator. Methoden die vanuit nodes
komen vereisen de rol node.
Scope-niveaus
| Scope | Betekenis |
|---|---|
operator.read | Alleen-lezen status, lijsten, catalogus, logs, sessielezen en andere niet-mutatieve control-plane-aanroepen. |
operator.write | Normale mutatieve operatoracties zoals berichten verzenden, tools aanroepen, spraak-/voice-instellingen bijwerken en node-opdrachtrelay. Voldoet ook aan operator.read. |
operator.admin | Administratieve control-plane-toegang. Voldoet aan elke operator.*-scope. Vereist voor config-mutatie, updates, native hooks, gevoelige gereserveerde namespaces en risicovolle goedkeuringen. |
operator.pairing | Beheer van apparaat- en node-koppeling, inclusief het weergeven, goedkeuren, afwijzen, verwijderen, roteren en intrekken van koppelingsrecords of apparaattokens. |
operator.approvals | Exec- en Plugin-goedkeurings-API’s. |
operator.talk.secrets | Talk-configuratie lezen met inbegrepen secrets. |
operator.*-scopes vereisen een exacte match, tenzij de aanroeper
operator.admin heeft.
Methode-scope is alleen de eerste poort
Elke Gateway-RPC heeft een least-privilege methode-scope. Die methode-scope bepaalt of de aanvraag de handler kan bereiken. Sommige handlers passen daarna strengere controles tijdens goedkeuring toe op basis van het concrete object dat wordt goedgekeurd of gewijzigd. Voorbeelden:device.pair.approveis bereikbaar metoperator.pairing, maar het goedkeuren van een operatorapparaat kan alleen scopes aanmaken of behouden die de aanroeper al heeft.node.pair.approveis bereikbaar metoperator.pairingen leidt daarna extra goedkeuringsscopes af uit de lijst met openstaande node-opdrachten.chat.sendis normaal een methode met write-scope, maar persistente/config seten/config unsetvereisenoperator.adminop opdrachtniveau.
Goedkeuringen voor apparaatkoppeling
Records voor apparaatkoppeling zijn de duurzame bron van goedgekeurde rollen en scopes. Al gekoppelde apparaten krijgen niet stilzwijgend bredere toegang: herverbindingen die vragen om een bredere rol of bredere scopes maken een nieuwe openstaande upgrade-aanvraag. Bij het goedkeuren van een apparaataanvraag:- Een aanvraag zonder operatorrol heeft geen goedkeuring voor operator-tokenscopes nodig.
- Een aanvraag voor een niet-operator-apparaatrol, zoals
node, vereistoperator.admin, zelfs wanneerdevice.pair.approvebereikbaar is metoperator.pairing. - Een aanvraag voor
operator.read,operator.write,operator.approvals,operator.pairingofoperator.talk.secretsvereist dat de aanroeper die scopes heeft, ofoperator.admin. - Een aanvraag voor
operator.adminvereistoperator.admin. - Een reparatieaanvraag zonder expliciete scopes kan de bestaande operator-
tokenscopes overnemen. Als dat bestaande token admin-scoped is, vereist goedkeuring nog steeds
operator.admin.
operator.pairing kunnen gebruiken.
Voor gekoppelde-apparaat-tokensessies is beheer ook self-scoped, tenzij de
aanroeper operator.admin heeft: niet-admin-aanroepers zien alleen hun eigen koppelings-
items, kunnen alleen hun eigen openstaande aanvraag goedkeuren of afwijzen, en kunnen
alleen hun eigen apparaatinvoer roteren, intrekken of verwijderen.
Goedkeuringen voor node-koppeling
Legacynode.pair.* gebruikt een aparte node-koppelingsopslag die eigendom is van de Gateway. WS-nodes
gebruiken apparaatkoppeling met role: node, maar dezelfde vocabulaire op goedkeuringsniveau
is van toepassing.
node.pair.approve gebruikt de opdrachtlijst van de openstaande aanvraag om aanvullende
vereiste scopes af te leiden:
- Aanvraag zonder opdrachten:
operator.pairing - Niet-exec node-opdrachten:
operator.pairing+operator.write system.run,system.run.prepareofsystem.which:operator.pairing+operator.admin
system.run exec-goedkeuringsbeleid van de node.
Shared-secret-authenticatie
Gedeelde gateway-token-/wachtwoordauthenticatie wordt behandeld als vertrouwde operatortoegang voor die Gateway. OpenAI-compatibele HTTP-oppervlakken,/tools/invoke en HTTP-sessie-
geschiedenisendpoints herstellen de normale volledige operator-standaardscopeset voor
shared-secret bearer-authenticatie, zelfs als een aanroeper smallere gedeclareerde scopes verzendt.
Modi met identiteit, zoals trusted proxy-authenticatie of private-ingress none,
kunnen nog steeds expliciet gedeclareerde scopes respecteren. Gebruik afzonderlijke Gateways voor echte scheiding
van vertrouwensgrenzen.