Ролі
Клієнти Gateway WebSocket підключаються з однією роллю:operator: клієнти контрольної площини, як-от CLI, Control UI, автоматизація та довірені допоміжні процеси.node: хости можливостей, як-от macOS, iOS, Android або безголові вузли, які надають команди черезnode.invoke.
operator. Методи, ініційовані вузлом,
потребують ролі node.
Рівні областей дії
| Область дії | Значення |
|---|---|
operator.read | Статус лише для читання, списки, каталог, журнали, читання сеансів та інші виклики контрольної площини без змін. |
operator.write | Звичайні операторські дії зі змінами, як-от надсилання повідомлень, виклик інструментів, оновлення налаштувань talk/voice і ретрансляція команд вузла. Також задовольняє operator.read. |
operator.admin | Адміністративний доступ до контрольної площини. Задовольняє кожну область дії operator.*. Потрібен для зміни конфігурації, оновлень, нативних хуків, чутливих зарезервованих просторів імен і високоризикових затверджень. |
operator.pairing | Керування сполученням пристроїв і вузлів, зокрема перегляд списку, затвердження, відхилення, видалення, ротація та відкликання записів сполучення або токенів пристроїв. |
operator.approvals | API затверджень exec і plugin. |
operator.talk.secrets | Читання конфігурації Talk із включеними секретами. |
operator.* потребують точного збігу, якщо викликач не має
operator.admin.
Область дії методу — лише перший шлюз
Кожен Gateway RPC має область дії методу за принципом найменших привілеїв. Ця область дії методу визначає, чи може запит дійти до обробника. Деякі обробники потім застосовують суворіші перевірки під час затвердження на основі конкретного об’єкта, який затверджується або змінюється. Приклади:device.pair.approveдоступний ізoperator.pairing, але затвердження операторського пристрою може видати або зберегти лише ті області дії, які викликач уже має.node.pair.approveдоступний ізoperator.pairing, а потім виводить додаткові області дії затвердження зі списку команд вузла, що очікує.chat.sendзазвичай є методом з областю дії на запис, але постійні/config setі/config unsetпотребуютьoperator.adminна рівні команди.
Затвердження сполучення пристроїв
Записи сполучення пристроїв є довготривалим джерелом затверджених ролей і областей дії. Уже сполучені пристрої не отримують ширший доступ непомітно: повторні підключення, які запитують ширшу роль або ширші області дії, створюють новий запит на оновлення, що очікує. Під час затвердження запиту пристрою:- Запит без ролі оператора не потребує затвердження області дії операторського токена.
- Запит для ролі пристрою, що не є оператором, як-от
node, потребуєoperator.admin, навіть колиdevice.pair.approveдоступний ізoperator.pairing. - Запит для
operator.read,operator.write,operator.approvals,operator.pairingабоoperator.talk.secretsпотребує, щоб викликач мав ці області дії абоoperator.admin. - Запит для
operator.adminпотребуєoperator.admin. - Запит на виправлення без явних областей дії може успадкувати наявні області дії
операторського токена. Якщо цей наявний токен має область дії адміністратора, затвердження все одно потребує
operator.admin.
operator.pairing.
Для сеансів токенів сполучених пристроїв керування також обмежене власною областю, якщо
викликач не має operator.admin: неадміністративні викликачі бачать лише власні записи
сполучення, можуть затверджувати або відхиляти лише власний запит, що очікує, і можуть ротувати,
відкликати або видаляти лише власний запис пристрою.
Затвердження сполучення вузлів
Застарілийnode.pair.* використовує окреме сховище сполучення вузлів, що належить Gateway. Вузли WS
використовують сполучення пристроїв із role: node, але застосовується той самий словник
рівнів затвердження.
node.pair.approve використовує список команд запиту, що очікує, щоб вивести додаткові
потрібні області дії:
- Запит без команд:
operator.pairing - Команди вузла без exec:
operator.pairing+operator.write system.run,system.run.prepareабоsystem.which:operator.pairing+operator.admin
system.run у вузлі.
Автентифікація зі спільним секретом
Автентифікація зі спільним токеном/паролем Gateway розглядається як довірений операторський доступ для цього Gateway. HTTP-поверхні, сумісні з OpenAI,/tools/invoke і HTTP-кінцеві точки історії сеансів
відновлюють звичайний повний стандартний набір операторських областей дії для
bearer-автентифікації зі спільним секретом, навіть якщо викликач надсилає вужчі оголошені області дії.
Режими з ідентичністю, як-от автентифікація через довірений проксі або private-ingress none,
усе ще можуть враховувати явно оголошені області дії. Використовуйте окремі Gateways для реального розділення
меж довіри.