sk-orca-…. Una
chiave normale riceve 403 sulle rotte del gateway del firewall autenticate con
token (il callback di approvazione è l’unica eccezione — è firmato con HMAC, non
gated da token).
Questa pagina copre cos’è una chiave API firewall-gateway, come coniarne una, e
perché lo scope è gated ad Admin+. Per il motore stesso, vedi la
Panoramica del Firewall e il riferimento
approfondito in Firewall.
1. Cos’è una chiave API firewall-gateway
Ogni token (chiave API) nel tuo workspace porta un flagis_firewall_gateway.
Quando è true, la chiave è autorizzata a raggiungere la superficie del gateway del
firewall:
| Rotta | Cosa fa |
|---|---|
POST /api/v1/firewall/evaluate | Verdetto pre-dispatch per una chiamata a tool. |
POST /api/v1/firewall/evaluate_plan | Controllo pre-esecuzione per un piano multi-step. |
ANY /api/v1/firewall/mcp | L’endpoint unificato del gateway MCP. |
GET /api/v1/firewall/mcp_servers | Enumera gli MCP server registrati del workspace (restituisce l’auth upstream decifrata). |
GET /api/v1/firewall/approvals/:id | Fa polling sullo stato di approvazione di una chiamata in attesa. |
is_firewall_gateway = false (il default) è una normale chiave di
relay — serve il traffico al modello /v1/* e, se hai collegato una policy tramite
firewall_policy_id, le sue chiamate a tool sono governate inline. Ma non può
chiamare le rotte del gateway sopra.
Due chiavi diverse, due compiti diversi. La tua chiave di relay
(
firewall_policy_id collegato) è ciò che il tuo agent usa per parlare con i modelli
— il firewall governa automaticamente le sue chiamate a tool. Una chiave del gateway
del firewall è ciò che il runtime del tuo agent usa per chiedere al firewall un
verdetto direttamente, o per fare da proxy del tools/call MCP attraverso il
gateway. La maggior parte dei workspace ha bisogno di una chiave del gateway solo
una volta che adotta l’hook di evaluate o il gateway MCP.2. Perché una chiave normale riceve 403
Lo scope del gateway sblocca due capability sensibili ai segreti, quindi è deliberatamente isolato dalle chiavi normali:/evaluateaccetta unrequest_idfornito dal chiamante che scorre nell’evento del firewall e nei record di approvazione. Se qualsiasi chiave del modello potesse falsificare eventi di audit o sondare silenziosamente gli esiti della policy, ciò minerebbe la traccia./mcp_serversrestituisce credenziali upstream decifrate così il proxy dell’SDK può dispatchare verso i tuoi MCP server registrati. Quella è una lettura di credenziali, non una chiamata al modello.
is_firewall_gateway del token presentato e
restituisce HTTP 403 quando è assente:
3. Coniane una — role-gated ad Admin+
Impostareis_firewall_gateway = true richiede Admin del workspace o superiore.
Un Developer può creare e modificare chiavi normali, ma non può coniarne una con
scope sul gateway — il flag è una questione di gestione dei segreti, quindi sta sopra
il normale ruolo di scrittura dei token.
Configuri le chiavi nella console, sotto le chiavi API del tuo workspace. Per
coniare una chiave del gateway:
Apri le chiavi API come Admin
Accedi come Admin del workspace (o superiore) e apri la pagina delle chiavi
API nella console.
Crea una chiave con lo scope del gateway
Crea una nuova chiave e abilita il suo scope firewall gateway
(
is_firewall_gateway). Una sessione di ruolo Developer non vedrà lo scope avere
effetto — il server mantiene il flag false per i non-admin.Abbassare il flag è più permissivo che alzarlo: azzerare
is_firewall_gateway (declassare una chiave del gateway di nuovo a chiave normale) è
aperto a qualsiasi ruolo che può modificare la chiave. Solo alzarlo a true è
Admin+.Gate dei ruoli in breve
| Azione | Ruolo |
|---|---|
| Creare/modificare una chiave normale | Developer+ |
Impostare is_firewall_gateway = true | Admin+ |
| Rileggere il plaintext di una chiave del gateway | Admin+ |
Azzerare is_firewall_gateway (declassare) | qualsiasi editor di chiavi |
4. Un esempio concreto
Stai facendo girare un loop di agent e vuoi controllare una chiamata a tool prima di dispatcharla. Come Admin, conia una chiave del gateway nella console, poi chiama l’hook di evaluate dal tuo runtime con quella chiave:allow, audit, deny,
sanitize, pending_approval, o una risoluzione di cap_cost. Il tuo agent agisce
su di esso: dispatcha su allow, salta su deny, fa polling sull’id di approvazione su
pending_approval. La stessa chiave del gateway autentica le rotte di
polling dell’approvazione e MCP.
5. Dove si inserisce
Una chiave del gateway autentica le rotte del gateway. Non sostituisce la sessione di console che usi per scrivere la policy: creare policy, modificare regole, registrare MCP server e risolvere approvazioni girano tutti sotto la tua sessione su/api/workspace/firewall/* (le letture di impostazioni, policy e
discovered tools aperte a ogni membro; la sandbox di test di dry-run e tutte le
scritture richiedono Developer+). La chiave del gateway porta solo le richieste
di verdetto e il dispatch MCP dal tuo runtime machine-to-machine.
Scope: chiavi, policy, workspace
Come il
firewall_policy_id di una chiave e uno scope del gateway si relazionano
al confine del workspace.Approvazioni
Il flusso della chiamata in attesa su cui la tua chiave del gateway fa polling e ri-invia.
Webhook di approvazione
Il callback firmato con HMAC che risolve una chiamata in attesa fuori banda.
MCP server
Registra e governa gli MCP server dietro l’endpoint del gateway.
6. FAQ
Perché la mia chiave Developer non ha ottenuto lo scope del gateway?
Perché la mia chiave Developer non ha ottenuto lo scope del gateway?
Alzare
is_firewall_gateway a true è Admin+. Una scrittura di ruolo
Developer che imposta il flag viene silenziosamente mantenuta a false
(così un rename o una modifica di quota non correlati sulla stessa richiesta
hanno comunque successo) — la chiave semplicemente non porterà lo scope.
Ricreala o modificala come Admin.Il mio agent riceve 403 su /api/v1/firewall/evaluate.
Il mio agent riceve 403 su /api/v1/firewall/evaluate.
La chiave presentata non ha scope sul gateway. Conferma che sia stata coniata con
is_firewall_gateway = true da un Admin — una normale chiave di relay riceve
sempre 403 su queste rotte. Vedi §2.Una sola chiave può servire sia il traffico al modello sia chiamare il gateway?
Una sola chiave può servire sia il traffico al modello sia chiamare il gateway?
Tecnicamente una chiave con scope sul gateway può anche servire il traffico di
relay
/v1/*, ma tienile separate: una chiave di relay (con firewall_policy_id
collegato) per i modelli, una chiave del gateway per le rotte di
evaluate/MCP/approvazione. Rotazione indipendente, raggio d’impatto più piccolo.Non riesco più a vedere il valore della chiave.
Non riesco più a vedere il valore della chiave.
Le chiavi sono mascherate dopo la creazione, e leggere il plaintext di una chiave
del gateway è Admin+. Se non l’hai copiata al momento della coniatura, crea una
nuova chiave del gateway e ritira la vecchia.
