ロール
すべての Gateway WebSocket クライアントは、1つのロールで接続します。operator: CLI、Control UI、自動化、および 信頼されたヘルパープロセスなどの制御プレーンクライアント。node:node.invokeを通じて コマンドを公開する機能ホスト (macOS、iOS、Android、ヘッドレス)。
operator ロールが必要です。node 発のメソッドには
node ロールが必要です。
スコープ レベル
| スコープ | 意味 |
|---|---|
operator.read | 読み取り専用のステータス、リスト、カタログ、ログ、セッション読み取り、およびその他の非変更呼び出し。 |
operator.write | 変更を伴う operator アクション: メッセージ送信、ツール呼び出し、トーク/音声設定の更新、node コマンド リレー。operator.read も満たします。 |
operator.admin | 管理アクセス。すべての operator.* スコープを満たします。config 変更、更新、ネイティブ フック、予約済み名前空間、および高リスク承認に必要です。 |
operator.pairing | デバイスと node のペアリング管理: 一覧表示、承認、拒否、削除、ローテーション、取り消し。 |
operator.approvals | Exec および plugin 承認 API。 |
operator.talk.secrets | シークレットを含めた Talk 設定の読み取り。 |
operator.* スコープは、呼び出し元がすでに operator.admin を
保持していない限り、完全一致が必要です。
メソッド スコープは最初のゲートにすぎない
各 Gateway RPC には、リクエストがハンドラーに到達できるかどうかを決める 最小権限のメソッド スコープがあります。その後、一部のハンドラーは、承認または変更される 具体的な対象に基づいて、より厳密なチェックを適用します。device.pair.approveはoperator.pairingで到達できますが、operator デバイスの承認で 発行または維持できるのは、呼び出し元がすでに保持しているスコープだけです。node.pair.approveはoperator.pairingで到達でき、その後、保留中の node が宣言したコマンド一覧から 追加の承認スコープを導出します。chat.sendは write スコープのメソッドですが、/config setおよび/config unsetチャット コマンドには、呼び出し元の chat-send スコープに関係なく、 さらにoperator.adminが必要です。
デバイス ペアリング承認
デバイス ペアリング レコードは、承認済みロールとスコープの永続的なソースです。 すでにペアリング済みのデバイスが、暗黙的により広いアクセスを得ることはありません。より広いロールまたは より広いスコープを要求する再接続は、新しい保留中のアップグレード リクエストを作成します。 デバイス リクエストの承認:- operator ロールを含まないリクエストには、operator スコープ承認は不要です。
- 非 operator デバイス ロール (たとえば
node) のリクエストには、device.pair.approve自体はoperator.pairingだけを必要とする場合でも、operator.adminが必要です。 operator.read、operator.write、operator.approvals、operator.pairing、またはoperator.talk.secretsのリクエストには、呼び出し元がすでに そのスコープ、またはoperator.adminを保持している必要があります。operator.adminのリクエストにはoperator.adminが必要です。- 明示的なスコープを含まない修復リクエストは、既存の operator
トークンのスコープを継承できます。そのトークンが admin スコープの場合でも、承認には
operator.adminが必要です。
operator.pairing を使用できる場合でも、非 operator ロールの承認は admin 限定です。
ペアリング済みデバイス トークン セッションでは、呼び出し元が operator.admin を持たない限り、
管理は自己スコープです。非 admin の呼び出し元は自身のペアリング エントリだけを確認でき、
自身のデバイス エントリだけを承認、拒否、ローテーション、取り消し、または削除できます。
Node ペアリング承認
従来のnode.pair.* メソッドは、Gateway 所有の別個の node ペアリング ストアを使用します。
WS node は代わりにデバイス ペアリング (role: node) を使用しますが、同じ承認
語彙が適用されます。2つのストアの関係については、Gateway ペアリング を参照してください。
node.pair.approve は、保留中のリクエストのコマンド一覧から追加の必須スコープを導出します。
| 宣言されたコマンド | 必須スコープ |
|---|---|
| なし | operator.pairing |
| 非 exec node コマンド | operator.pairing + operator.write |
system.run, system.run.prepare, または system.which | operator.pairing + operator.admin |
system.run exec 承認ポリシーを置き換えるものではありません。
共有シークレット認証
共有 gateway トークン/パスワード認証は、その Gateway に対する信頼された operator アクセスとして扱われます。 OpenAI 互換 HTTP サーフェス、/tools/invoke、および HTTP
セッション履歴エンドポイントは、呼び出し元がより狭い宣言済みスコープを送信した場合でも、
共有シークレット bearer 認証に対して完全なデフォルト operator スコープ セットを復元します。
信頼済みプロキシ認証や private-ingress none などの identity-bearing モードは、
明示的な宣言済みスコープを引き続き尊重できます。実際の信頼境界の分離には、別々の Gateway を使用してください。