Peran
Setiap klien WebSocket Gateway terhubung dengan satu peran:operator: klien bidang kontrol seperti CLI, UI Kontrol, otomatisasi, dan proses pembantu tepercaya.node: host kapabilitas (macOS, iOS, Android, tanpa antarmuka grafis) yang mengekspos perintah melaluinode.invoke.
operator; metode yang berasal dari node
memerlukan peran node.
Tingkat cakupan
Cakupan
operator.* mendatang yang tidak dikenal memerlukan kecocokan persis kecuali pemanggil
sudah memiliki operator.admin.
Cakupan metode hanyalah gerbang pertama
Setiap RPC Gateway memiliki cakupan metode dengan hak akses minimum yang menentukan apakah permintaan mencapai handler-nya. Metode yang memperhitungkan parameter memperoleh cakupan tersebut sebelum pengiriman sehingga kegagalan otorisasi memiliki satu respons terstruktur kanonis:agentmemerlukanoperator.writeuntuk giliran biasa danoperator.adminuntuk perintah siklus hidup sesi/newatau/reset.node.invokememerlukanoperator.writeuntuk perintah penerusan biasa danoperator.adminuntukbrowser.proxy,fs.listDir, danterminal.upload.talk.configmemerlukanoperator.read;includeSecrets: truejuga memerlukanoperator.talk.secrets.
device.pair.approvedapat dicapai denganoperator.pairing, tetapi menyetujui perangkat operator hanya dapat menerbitkan atau mempertahankan cakupan yang sudah dimiliki pemanggil.node.pair.approvedapat dicapai denganoperator.pairing, lalu memperoleh cakupan persetujuan tambahan dari daftar perintah yang dideklarasikan oleh node tertunda.chat.sendadalah metode bercakupan tulis, tetapi perintah percakapan/config setdan/config unsetmemerlukanoperator.adminsebagai tambahan, terlepas dari cakupan pengiriman percakapan milik pemanggil.
client.id atau client.mode milik klien yang terhubung. Identitas klien
tetap dapat memengaruhi kebijakan koneksi dan autentikasi perangkat, tetapi tidak
memberikan maupun menghapus kewenangan untuk mengubah sesi.
Persetujuan pemasangan perangkat
Catatan pemasangan perangkat merupakan sumber persisten untuk peran dan cakupan yang disetujui. Perangkat yang telah dipasangkan tidak memperoleh akses lebih luas secara diam-diam: koneksi ulang yang meminta peran atau cakupan lebih luas membuat permintaan peningkatan tertunda baru. Menyetujui permintaan perangkat:- Permintaan tanpa peran operator tidak memerlukan persetujuan cakupan operator.
- Permintaan untuk peran perangkat nonoperator (misalnya
node) memerlukanoperator.admin, meskipundevice.pair.approvesendiri hanya memerlukanoperator.pairing. - Permintaan untuk
operator.read,operator.write,operator.approvals,operator.questions,operator.pairing, atauoperator.talk.secretsmengharuskan pemanggil sudah memiliki cakupan tersebut, atauoperator.admin. - Permintaan untuk
operator.adminmemerlukanoperator.admin. - Permintaan perbaikan tanpa cakupan eksplisit dapat mewarisi cakupan token
operator yang ada; jika token tersebut bercakupan admin, persetujuan tetap memerlukan
operator.admin.
operator.pairing untuk hal lain.
Untuk sesi token perangkat yang dipasangkan, pengelolaan dibatasi pada diri sendiri kecuali pemanggil
memiliki operator.admin: pemanggil nonadmin hanya melihat entri pemasangannya sendiri, dan
hanya dapat menyetujui, menolak, merotasi, mencabut, atau menghapus entri perangkatnya sendiri.
Persetujuan pemasangan node
Metodenode.pair.* lama menggunakan penyimpanan pemasangan node terpisah yang dimiliki Gateway.
Node WS menggunakan pemasangan perangkat (role: node) sebagai gantinya, tetapi kosakata
persetujuan yang sama berlaku. Lihat Pemasangan Gateway untuk mengetahui hubungan kedua
penyimpanan tersebut.
node.pair.approve memperoleh cakupan tambahan yang diperlukan dari daftar
perintah permintaan tertunda:
Menyetujui deklarasi node tidak mengaktifkan perintah yang memiliki gerbang daftar izin
runtime terpisah. Misalnya, menyetujui node yang mendeklarasikan
computer.act memerlukan pemasangan beserta cakupan tulis, tetapi hanya mencatat permukaan tersebut.
Administrator atau pemilik tetap harus mengaktifkan computer.act. Selama tetap
aktif, pemanggilannya melalui node.invoke memerlukan cakupan tulis, tetapi tidak memerlukan cakupan
admin untuk setiap tindakan.
Pemasangan node menetapkan identitas dan kepercayaan; hal tersebut tidak menggantikan kebijakan
persetujuan eksekusi system.run milik node itu sendiri.
Autentikasi rahasia bersama
Autentikasi token/kata sandi gateway bersama diperlakukan sebagai akses operator tepercaya untuk Gateway tersebut. Permukaan HTTP yang kompatibel dengan OpenAI,/tools/invoke, dan endpoint HTTP
riwayat sesi memulihkan kumpulan cakupan operator default lengkap untuk
autentikasi bearer rahasia bersama, meskipun pemanggil mengirim cakupan yang dideklarasikan lebih sempit.
Mode yang membawa identitas, seperti autentikasi proksi tepercaya atau none ingress privat,
tetap dapat mematuhi cakupan eksplisit yang dideklarasikan. Gunakan Gateway terpisah untuk pemisahan
batas kepercayaan yang nyata.