Todo aquí se vincula a tu espacio de trabajo y se configura desde la
consola. Tu app sigue llamando a
https://api.orcarouter.ai/v1/chat/completions con la clave sk-orca-... de
cada inquilino — solo cambia la política en el gateway. Las acciones de
configuración necesitan los roles indicados por paso; solo las llamadas de
relay /v1/* usan una clave de inquilino.1. El modelo de seguridad de IA multi-inquilino
Un gateway multi-inquilino tiene una forma de amenaza diferente a la de una sola app. Los riesgos que importan escalan con el número de inquilinos:Fuga de clave = radio de explosión de un inquilino
Una clave de inquilino filtrada no debería poder drenar tu cuenta, llamar
a modelos que nunca expusiste, o alcanzar más allá del presupuesto de ese
inquilino.
Sangrado de datos entre inquilinos
La PII de un inquilino aterrizando en registros compartidos, o en una
respuesta enrutada a otro inquilino, rompe tu promesa de aislamiento de
datos.
Un agente de inquilino ruidoso
El agente de un inquilino iterando en bucle sobre una herramienta u
obteniendo hosts arbitrarios no debería degradar el gateway para todos los
demás.
Cumplimiento por inquilino
Un inquilino regulado puede necesitar enmascarado de PII y residencia de
datos que el resto de tus inquilinos no.
2. La línea base: una política de espacio de trabajo que cada inquilino hereda
Autora tu postura de seguridad una vez a nivel de espacio de trabajo para que cada clave de inquilino la herede por defecto — sin duplicación por inquilino.Un guardrail por defecto
En Guardrails → New guardrail, autora una política nombrada (p. ej.
Cualquier clave de inquilino sin adjunción explícita de guardrail hace
fallback a este valor por defecto. Autorar un guardrail necesita el rol
Developer.
tenant-baseline) y márcala como default del espacio de trabajo
(is_default). Añade una regla PII, etapa input, acción mask,
para que ninguna solicitud de inquilino lleve PII en bruto upstream:Una política de firewall por defecto
Si tus inquilinos ejecutan agentes, haz lo mismo en el plano de acción: en
Firewall → Policies, autora una política por defecto o — más rápido —
abre Firewall → Posture y aplica el
nivel de autonomía
balanced. Eso audita las llamadas a herramienta de cada inquilino y
marca PII en todo el espacio de trabajo mientras deniega las acciones más
destructivas, así que vigilas el comportamiento real del inquilino antes de
aplicar ampliamente. Rol Developer.3. Una clave con alcance por inquilino
Este es el núcleo del aislamiento de inquilinos: nunca compartas una clave entre inquilinos, y nunca entregues a un inquilino tu clave de toda la cuenta. Acuña una clave por inquilino, con alcance a exactamente lo que ese inquilino puede hacer. En API Keys → New key, establece:Limita el gasto (límite de denial-of-wallet)
Limita el gasto (límite de denial-of-wallet)
Establece
credit_limit_usd al techo de ese inquilino (0 = ilimitado).
Este es el control multi-inquilino más importante: una clave de inquilino
filtrada o abusada solo puede quemar el presupuesto de ese inquilino, nunca
tu cuenta. Ver denial-of-wallet.Fija los modelos
Fija los modelos
Activa
model_limits (model_limits_enabled) y lista solo el/los
modelo(s) que incluye el plan de ese inquilino — así una clave filtrada no
puede ejecutar un modelo caro que el inquilino nunca pagó.Etiqueta el entorno / inquilino
Etiqueta el entorno / inquilino
Establece
environment (una etiqueta de despliegue de forma libre, p. ej.
prod / staging) para que el tráfico de un inquilino sea atribuible en
tus registros y puedas distinguir las claves de producción de las de
prueba de un vistazo.Asegura el origen y la vida útil
Asegura el origen y la vida útil
Establece
allow_ips a las IPs de egress del backend de ese inquilino si
llama desde un servidor fijo, y expired_time para inquilinos de prueba o
con tiempo limitado (-1 = nunca expira).tenant-baseline del espacio de
trabajo y la política de firewall por defecto automáticamente — acuñaste una
clave con alcance, y ya está gobernada. La clave se enmascara en pantalla
tras la creación, así que cópiala una vez cuando aprovisiones el inquilino.
4. Overrides por inquilino — endurece uno sin tocar el resto
La mayoría de los inquilinos cabalgan la línea base. Cuando uno necesita más — un inquilino regulado, un nivel empresarial, un inquilino en una lista de prueba — adjunta una política nombrada más estricta a esa clave solamente:| Establecer en la clave | Efecto para ese único inquilino |
|---|---|
guardrail_id | Cambia a un guardrail nombrado más estricto (p. ej. bloqueo-ante-PII). |
firewall_policy_id | Cambia a una política de firewall más ajustada (p. ej. herramientas default-deny). |
Guardrails: la adjunción explícita es el interruptor de apagado
Guardrails: la adjunción explícita es el interruptor de apagado
Un
guardrail_id explícito (cuando existe y está habilitado) siempre
aplica y nunca hace fallback silencioso. Si ese guardrail adjunto está
deshabilitado, la clave no obtiene guardrail — no cae al valor
por defecto del espacio de trabajo. Deja guardrail_id sin establecer
(0/null) para heredar el valor por defecto tenant-baseline.Firewall: una adjunción deshabilitada hace fallback
Firewall: una adjunción deshabilitada hace fallback
Un
firewall_policy_id adjunto aplica cuando existe y está habilitado; si
esa política está deshabilitada, la clave hace fallback a la política
por defecto del espacio de trabajo. (Esto es lo opuesto al comportamiento
del interruptor de apagado del guardrail — por diseño.)5. Un ejemplo concreto de dos niveles
Digamos que ejecutas un nivel gratuito y un nivel empresarial regulado en un espacio de trabajo:- Línea base del espacio de trabajo — guardrail
tenant-baseline(máscara de PII en input, bloqueo en tarjeta/SSN) comois_default, más el nivel de autonomía de firewallbalanced. Cada inquilino hereda esto. - Clave de inquilino del nivel gratuito — sin
guardrail_id(hereda la línea base),model_limitsfijado aopenai/gpt-4o-mini, uncredit_limit_usdbajo. - Clave de inquilino empresarial —
guardrail_idestablecido a un guardrailenterprise-piimás estricto (PII block, no mask, en input; bloqueo de secretos en la etapaoutput), unfirewall_policy_idcon una lista de permitidos de herramientas más ajustada, un tope de crédito más alto, yallow_ipsfijado a su backend.
/v1/chat/completions con su propia
clave. El gateway resuelve la política correcta por clave — tu código de
aplicación es idéntico para cada inquilino.
6. Cumplimiento y residencia por inquilino
Un inquilino regulado a menudo necesita una atestación que el resto no. El cumplimiento se ejecuta como un par de espacio de trabajo de guardrails y firewall:- Navegar el catálogo de marcos y la disposición está abierto a cualquier
Member y es gratis — confirma la cobertura para el marco que un
inquilino pregunta (
soc2,hipaa,gdpr,iso_27001,pci_dssy más). - Instalar un pack (
POST /api/compliance/packs/:key/install) materializa los guardrails y políticas de firewall coincidentes en tu espacio de trabajo; requiere Admin del espacio de trabajo y un plan de pago. - La residencia de datos fija la región del artefacto de informe de
cumplimiento (
us/eu/uk/ap/cn/global) víaPUT /api/compliance/residency(Admin). Las lecturas inter-región se retienen.
La residencia aquí gobierna el artefacto de informe de cumplimiento, no la
geofijación de datos de inferencia. Para la historia del registro de
solicitudes: los registros se retienen por defecto 30 días (acotado duro a
180), y una auto-eliminación de usuario ejecuta una gracia de 30 días, luego
una limpieza de PII que cae en cascada a las coincidencias de guardrail y los
registros de solicitudes de ese usuario.
7. Vigila cada inquilino desde un espacio de trabajo
Toda la observabilidad tiene alcance de espacio de trabajo, así que un solo conjunto de feeds cubre todos tus inquilinos — filtrable hasta uno solo:- Guardrails → Matches (cualquier Member) — cada regla que se disparó en todos los inquilinos: tipo, acción, etapa, detalle. La subcadena coincidente se registra solo si Log raw content está activado para ese guardrail (apagado por defecto — la postura conservadora de privacidad, que importa más en multi-inquilino). Marca un falso positivo para afinar (Admin).
- Firewall → Events / Runs (Developer+) — cada llamada a herramienta, agregada por ejecución de agente, para que el bucle de un inquilino ruidoso o un egress novedoso destaque.
- Feed de anomalías (Member) — picos de tasa/coste puntuados contra una línea base aprendida de hora-de-la-semana capturan a un inquilino quemando fuera de patrón incluso cuando cada llamada está individualmente permitida.
guardrail_blocked /
firewall_blocked), no cuesta cuota a ese inquilino, y se marca
skip-retry — el límite se mantuvo sin cobrar al inquilino por el rechazo.
8. Dónde profundizar
Alcance de claves, políticas, espacios de trabajo
El orden de resolución completo para la adjunción de clave y los valores
por defecto del espacio de trabajo.
Referencia de Guardrails
Cada tipo de regla, entidad PII y override por entidad al completo.
Referencia de Firewall
Veredictos, superficies, niveles de autonomía y el plano de política.
Detener la exfiltración de datos
Asegura el egress saliente de un agente de inquilino.
