Gateway
Operatör kapsamları
Operatör kapsamları, bir Gateway istemcisinin kimlik doğrulamasından sonra neler yapabileceğini tanımlar. Bunlar tek bir güvenilir Gateway operatör alanı içinde bir kontrol düzlemi koruma sınırıdır, düşmanca çok kiracılı yalıtım değildir. Kişiler, ekipler veya makineler arasında güçlü ayrım gerekiyorsa, ayrı OS kullanıcıları ya da ana makineler altında ayrı Gateway'ler çalıştırın.
İlgili: Güvenlik, Gateway protokolü, Gateway eşleştirme, Cihazlar CLI.
Roller
Gateway WebSocket istemcileri tek bir rolle bağlanır:
operator: CLI, Control UI, otomasyon ve güvenilir yardımcı süreçler gibi kontrol düzlemi istemcileri.node: macOS, iOS, Android gibi yetenek ana makineleri veya komutlarınode.invokeüzerinden sunan başsız node'lar.
Operatör RPC yöntemleri operator rolünü gerektirir. Node kaynaklı yöntemler
node rolünü gerektirir.
Kapsam düzeyleri
| Kapsam | Anlam |
|---|---|
operator.read |
Salt okunur durum, listeler, katalog, günlükler, oturum okumaları ve diğer değişiklik yapmayan kontrol düzlemi çağrıları. |
operator.write |
Mesaj gönderme, araç çağırma, konuşma/ses ayarlarını güncelleme ve node komut aktarma gibi normal değişiklik yapan operatör eylemleri. operator.read kapsamını da karşılar. |
operator.admin |
Yönetimsel kontrol düzlemi erişimi. Her operator.* kapsamını karşılar. Yapılandırma değişikliği, güncellemeler, yerel hook'lar, hassas ayrılmış ad alanları ve yüksek riskli onaylar için gereklidir. |
operator.pairing |
Eşleştirme kayıtlarını veya cihaz token'larını listeleme, onaylama, reddetme, kaldırma, döndürme ve iptal etme dahil cihaz ve node eşleştirme yönetimi. |
operator.approvals |
Exec ve Plugin onay API'leri. |
operator.talk.secrets |
Gizli anahtarlar dahil edilerek Talk yapılandırmasını okuma. |
Bilinmeyen gelecekteki operator.* kapsamları, çağıranın operator.admin kapsamı yoksa
tam eşleşme gerektirir.
Yöntem kapsamı yalnızca ilk kapıdır
Her Gateway RPC'sinin en düşük ayrıcalıklı bir yöntem kapsamı vardır. Bu yöntem kapsamı, isteğin işleyiciye ulaşıp ulaşamayacağını belirler. Bazı işleyiciler daha sonra onaylanan veya değiştirilen somut şeye göre daha sıkı onay zamanı denetimleri uygular.
Örnekler:
device.pair.approveöğesineoperator.pairingile erişilebilir, ancak bir operatör cihazını onaylamak yalnızca çağıranın zaten sahip olduğu kapsamları oluşturabilir veya koruyabilir.node.pair.approveöğesineoperator.pairingile erişilebilir, ardından bekleyen node komut listesinden ek onay kapsamları türetir.chat.sendnormalde yazma kapsamlı bir yöntemdir, ancak kalıcı/config setve/config unsetkomut düzeyindeoperator.admingerektirir.
Bu, daha düşük kapsama sahip operatörlerin tüm eşleştirme onaylarını yalnızca admin'e özel hale getirmeden düşük riskli eşleştirme eylemleri gerçekleştirmesine olanak tanır.
Cihaz eşleştirme onayları
Cihaz eşleştirme kayıtları, onaylanmış rollerin ve kapsamların kalıcı kaynağıdır. Zaten eşleştirilmiş cihazlar sessizce daha geniş erişim elde etmez: daha geniş bir rol veya daha geniş kapsamlar isteyen yeniden bağlantılar yeni bir bekleyen yükseltme isteği oluşturur.
Bir cihaz isteğini onaylarken:
- Operatör rolü olmayan bir istek, operatör token kapsamı onayı gerektirmez.
operator.read,operator.write,operator.approvals,operator.pairingveyaoperator.talk.secretsiçin bir istek, çağıranın bu kapsamları ya daoperator.adminkapsamını taşımasını gerektirir.operator.adminiçin bir istekoperator.admingerektirir.- Açık kapsamı olmayan bir onarım isteği, mevcut operatör
token kapsamlarını devralabilir. Mevcut token admin kapsamlıysa, onay yine de
operator.admingerektirir.
Eşleştirilmiş cihaz token oturumları için, çağıranın ayrıca operator.admin kapsamı yoksa
yönetim kendi kapsamıyla sınırlıdır: admin olmayan çağıranlar yalnızca kendi eşleştirme kayıtlarını görür,
yalnızca kendi bekleyen isteklerini onaylayabilir veya reddedebilir ve yalnızca
kendi cihaz kayıtlarını döndürebilir, iptal edebilir veya kaldırabilir.
Node eşleştirme onayları
Eski node.pair.*, ayrı bir Gateway sahipli node eşleştirme deposu kullanır. WS node'ları
role: node ile cihaz eşleştirmesi kullanır, ancak aynı onay düzeyi söz varlığı
geçerlidir.
node.pair.approve, ek gerekli kapsamları türetmek için bekleyen istek komut listesini kullanır:
- Komutsuz istek:
operator.pairing - Exec olmayan node komutları:
operator.pairing+operator.write system.run,system.run.prepareveyasystem.which:operator.pairing+operator.admin
Node eşleştirme kimlik ve güven tesis eder. Node'un kendi
system.run exec onay politikasının yerini almaz.
Paylaşılan gizli anahtar kimlik doğrulaması
Paylaşılan Gateway token/parola kimlik doğrulaması, o Gateway için güvenilir operatör erişimi olarak ele alınır.
OpenAI uyumlu HTTP yüzeyleri ve /tools/invoke, çağıran daha dar bildirilmiş kapsamlar gönderse bile
paylaşılan gizli anahtar bearer kimlik doğrulaması için normal tam operatör varsayılan kapsam kümesini geri yükler.
Güvenilir proxy kimlik doğrulaması veya private-ingress none gibi kimlik taşıyan modlar,
açık bildirilmiş kapsamları yine de dikkate alabilir. Gerçek güven sınırı ayrımı için ayrı Gateway'ler kullanın.