Gateway
Operatör kapsamları
Gateway operatör kapsamları, bir Gateway istemcisinin kimlik doğrulamasından sonra neler yapabileceğini sınırlar. Bunlar, güvenilen tek bir Gateway operatör alanı içindeki kontrol düzlemi güvenlik sınırıdır; kötü niyetli çok kiracılı ortamlar için yalıtım sağlamaz. Kişiler, ekipler veya makineler arasında güçlü ayrım sağlamak için farklı işletim sistemi 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'sı.
Roller
Her Gateway WebSocket istemcisi tek bir rolle bağlanır:
operator: CLI, Control UI, otomasyon ve güvenilen yardımcı işlemler gibi kontrol düzlemi istemcileri.node: komutlarınode.invokeüzerinden sunan yetenek ana makineleri (macOS, iOS, Android, başsız).
Operatör RPC yöntemleri operator rolünü; node kaynaklı yöntemler ise
node rolünü gerektirir.
Kapsam düzeyleri
| Kapsam | Anlamı |
|---|---|
operator.read |
Salt okunur durum, listeler, katalog, günlükler, oturum okumaları ve değişiklik yapmayan diğer çağrılar. |
operator.write |
Değişiklik yapan operatör eylemleri: mesaj gönderme, araç çağırma, konuşma/ses ayarlarını güncelleme, node komutu aktarma. operator.read kapsamını da karşılar. |
operator.admin |
Yönetici erişimi. Tüm operator.* kapsamlarını karşılar. Yapılandırma değişiklikleri, güncellemeler, yerel kancalar, ayrılmış ad alanları ve yüksek riskli onaylar için gereklidir. |
operator.pairing |
Cihaz ve node eşleştirme yönetimi: listeleme, onaylama, reddetme, kaldırma, döndürme, iptal etme. |
operator.approvals |
Çalıştırma ve Plugin onay API'leri. |
operator.questions |
Etkileşimli soruları listeleme, okuma, yanıtlama ve çözümleme. |
operator.talk.secrets |
Gizli bilgiler dâhil olmak üzere Talk yapılandırmasını okuma. |
Gelecekteki bilinmeyen operator.* kapsamları, çağıran taraf zaten
operator.admin kapsamına sahip değilse tam eşleşme gerektirir.
Yöntem kapsamı yalnızca ilk denetimdir
Her Gateway RPC'si, bir isteğin işleyicisine ulaşıp ulaşmayacağını belirleyen en az ayrıcalıklı bir yöntem kapsamına sahiptir. Parametrelere duyarlı yöntemler, yetkilendirme hatalarının tek bir standart yapılandırılmış yanıtı olması için bu kapsamı yönlendirmeden önce türetir:
agent, sıradan etkileşimler içinoperator.write;/newveya/resetoturum yaşam döngüsü komutları içinoperator.admingerektirir.node.invoke, sıradan aktarma komutları içinoperator.write;browser.proxy,fs.listDirveterminal.uploadiçinoperator.admingerektirir.talk.config,operator.readgerektirir;includeSecrets: trueayrıcaoperator.talk.secretsgerektirir.
Bazı işleyiciler daha sonra onaylanan veya değiştirilen somut öğeye göre daha sıkı denetimler uygular:
device.pair.approveyöntemineoperator.pairingile erişilebilir; ancak bir operatör cihazının onaylanması yalnızca çağıran tarafın zaten sahip olduğu kapsamları oluşturabilir veya koruyabilir.node.pair.approveyöntemineoperator.pairingile erişilebilir; ardından bekleyen node'un bildirdiği komut listesinden ek onay kapsamları türetilir.chat.send, yazma kapsamlı bir yöntemdir; ancak/config setve/config unsetsohbet komutları, çağıran tarafın sohbet gönderme kapsamından bağımsız olarak buna ek olarakoperator.admingerektirir.
Bu, daha düşük kapsamlı operatörlerin tüm eşleştirme onaylarını yalnızca yöneticiye özel hâle getirmeden düşük riskli eşleştirme eylemleri gerçekleştirmesini sağlar.
Oturum değiştirme RPC'leri, bağlanan istemcinin client.id veya
client.mode değerinden bağımsız olarak, üzerinde anlaşılmış operatör kapsamlarıyla yetkilendirilir.
İstemci kimliği bağlantı ve cihaz kimlik doğrulama politikasını yine etkileyebilir;
ancak oturum değiştirme yetkisi vermez veya bu yetkiyi kaldırmaz.
Cihaz eşleştirme onayları
Cihaz eşleştirme kayıtları, onaylanmış rollerin ve kapsamların kalıcı kaynağıdır. Önceden eşleştirilmiş bir cihaz sessizce daha geniş erişim elde etmez: daha geniş bir rol veya daha geniş kapsamlar isteyen yeniden bağlantı, bekleyen yeni bir yükseltme isteği oluşturur.
Bir cihaz isteğini onaylama:
- Operatör rolü olmayan bir istek, operatör kapsamı onayı gerektirmez.
- Operatör dışı bir cihaz rolü isteği (örneğin
node),device.pair.approveyönteminin kendisi yalnızcaoperator.pairinggerektirse deoperator.admingerektirir. operator.read,operator.write,operator.approvals,operator.questions,operator.pairingveyaoperator.talk.secretsisteği, çağıran tarafın bu kapsama veyaoperator.adminkapsamına zaten sahip olmasını gerektirir.operator.administeği,operator.admingerektirir.- Açık kapsamları olmayan bir onarım isteği, mevcut operatör
token'ının kapsamlarını devralabilir; bu token yönetici kapsamlıysa onay yine
operator.admingerektirir.
Yönetici olmayan paylaşılan gizli bilgi ve güvenilen proxy oturumları, operatör
cihazı isteklerini yalnızca kendi bildirdikleri operatör kapsamları dâhilinde onaylayabilir;
bu oturumlar aksi hâlde operator.pairing kullanabilse bile operatör dışı rollerin
onaylanması yalnızca yöneticiye açıktır.
Eşleştirilmiş cihaz token'ı oturumlarında, çağıran taraf operator.admin kapsamına
sahip değilse yönetim kendi cihazıyla sınırlıdır: yönetici olmayan çağıran taraf yalnızca
kendi eşleştirme girdilerini görür ve yalnızca kendi cihaz girdisini onaylayabilir, reddedebilir,
döndürebilir, iptal edebilir veya kaldırabilir.
Node eşleştirme onayları
Eski node.pair.* yöntemleri, Gateway'in sahip olduğu ayrı bir node eşleştirme deposu kullanır.
WS node'ları bunun yerine cihaz eşleştirmeyi (role: node) kullanır; ancak aynı onay
terminolojisi geçerlidir. İki deponun ilişkisi için Gateway eşleştirme bölümüne bakın.
node.pair.approve, bekleyen isteğin komut listesinden gerekli ek kapsamları türetir:
| Bildirilen komutlar | Gerekli kapsamlar |
|---|---|
| yok | operator.pairing |
| sıradan node komutları | operator.pairing + operator.write |
system.run, system.run.prepare, system.which, browser.proxy, fs.listDir veya system.execApprovals.get/set |
operator.pairing + operator.admin |
Bir node bildiriminin onaylanması, ayrı bir çalışma zamanı izin listesi denetimine
sahip komutları etkinleştirmez. Örneğin, computer.act bildiren bir node'un
onaylanması eşleştirme ve yazma kapsamı gerektirir, ancak yalnızca yüzeyi kaydeder.
Bir yönetici veya sahip yine de computer.act özelliğini etkinleştirmelidir. Etkin
kaldığı sürece, node.invoke üzerinden çağrılması yazma kapsamı gerektirir;
ancak her eylem için yönetici kapsamı gerektirmez.
Node eşleştirme, kimlik ve güven oluşturur; node'un kendi
system.run çalıştırma onayı politikasının yerini almaz.
Paylaşılan gizli bilgiyle kimlik doğrulama
Paylaşılan Gateway token'ı/parolasıyla kimlik doğrulama, ilgili Gateway için
güvenilen operatör erişimi olarak değerlendirilir. OpenAI uyumlu HTTP yüzeyleri,
/tools/invoke ve HTTP oturum geçmişi uç noktaları, çağıran taraf daha dar
bildirilmiş kapsamlar gönderse bile paylaşılan gizli bilgi taşıyıcı kimlik doğrulaması
için varsayılan operatör kapsamlarının tamamını geri yükler.
Güvenilen proxy kimlik doğrulaması veya özel giriş none gibi kimlik
taşıyan kipler, açıkça bildirilmiş kapsamları yine de dikkate alabilir. Gerçek güven
sınırı ayrımı için ayrı Gateway'ler kullanın.