Tudo aqui se vincula ao seu workspace e é configurado a partir do console.
Sua app continua chamando
https://api.orcarouter.ai/v1/chat/completions com a
chave sk-orca-... de cada tenant — apenas a política no gateway muda. As ações
de configuração precisam dos papéis indicados por etapa; apenas as chamadas de
relay /v1/* usam uma chave de tenant.1. O modelo de segurança de IA multi-tenant
Um gateway multi-tenant tem um formato de ameaça diferente de uma app única. Os riscos que importam escalam com o número de tenants:Vazamento de chave = raio de explosão de um tenant
Uma chave de tenant vazada não deveria conseguir drenar sua conta, chamar
modelos que você nunca expôs, ou alcançar além do orçamento desse tenant.
Vazamento de dados cross-tenant
A PII de um tenant caindo em logs compartilhados, ou em uma resposta roteada
para outro tenant, quebra sua promessa de isolamento de dados.
Um agente de tenant barulhento
O agente de um tenant em loop numa ferramenta ou buscando hosts arbitrários
não deveria degradar o gateway para todos os outros.
Compliance por tenant
Um tenant regulado pode precisar de máscara de PII e residência de dados que
o resto dos seus tenants não precisa.
2. A linha de base: uma política de workspace que cada tenant herda
Crie sua postura de segurança uma vez no nível de workspace para que cada chave de tenant a herde por padrão — sem duplicação por tenant.Um guardrail padrão
Em Guardrails → New guardrail, crie uma política nomeada (ex.:
Qualquer chave de tenant sem vínculo explícito de guardrail cai de volta
para este padrão. Criar um guardrail precisa do papel Developer.
tenant-baseline) e marque-a como padrão do workspace (is_default).
Adicione uma regra de PII, stage input, ação mask, para que nenhuma
requisição de tenant carregue PII bruta upstream:Uma política de firewall padrão
Se seus tenants rodam agentes, faça o mesmo no plano de ação: em
Firewall → Policies, crie uma política padrão ou — mais rápido — abra
Firewall → Posture e aplique o
nível de autonomia
balanced. Isso audita as chamadas de ferramenta de cada tenant e
sinaliza PII em todo o workspace enquanto nega as ações mais destrutivas,
então você observa o comportamento real do tenant antes de aplicar
enforcement amplamente. Papel Developer.3. Uma chave com escopo por tenant
Este é o núcleo do isolamento de tenant: nunca compartilhe uma chave entre tenants, e nunca entregue a um tenant sua chave para toda a conta. Cunhe uma chave por tenant, escopada exatamente ao que aquele tenant pode fazer. Em API Keys → New key, defina:Limite o gasto (fronteira de denial-of-wallet)
Limite o gasto (fronteira de denial-of-wallet)
Defina
credit_limit_usd no teto daquele tenant (0 = ilimitado). Este é o
controle multi-tenant mais importante: uma chave de tenant vazada ou abusada
só pode queimar o orçamento daquele tenant, nunca sua conta. Veja
denial-of-wallet.Fixe os modelos
Fixe os modelos
Ative
model_limits (model_limits_enabled) e liste apenas o(s) modelo(s)
que o plano daquele tenant inclui — para que uma chave vazada não possa rodar
um modelo caro que o tenant nunca pagou.Rotule o ambiente / tenant
Rotule o ambiente / tenant
Defina
environment (um rótulo de deploy de forma livre, ex.: prod /
staging) para que o tráfego de um tenant seja atribuível nos seus logs e
você possa distinguir chaves de produção das de teste num relance.Restrinja origem e tempo de vida
Restrinja origem e tempo de vida
Defina
allow_ips para os IPs de egress do backend daquele tenant se ele
chama de um servidor fixo, e expired_time para tenants em trial ou
limitados por tempo (-1 = nunca expira).tenant-baseline do workspace e a
política de firewall padrão automaticamente — você cunhou uma chave com escopo,
e ela já está governada. A chave é mascarada na exibição após a criação,
então copie-a uma vez quando provisionar o tenant.
4. Overrides por tenant — restrinja um sem tocar no resto
A maioria dos tenants anda na linha de base. Quando um precisa de mais — um tenant regulado, um tier enterprise, um tenant numa lista de probation — vincule uma política nomeada mais rígida somente àquela chave:| Defina na chave | Efeito para aquele único tenant |
|---|---|
guardrail_id | Troca por um guardrail nomeado mais rígido (ex.: block-on-PII). |
firewall_policy_id | Troca por uma política de firewall mais apertada (ex.: ferramentas default-deny). |
Guardrails: o vínculo explícito é o interruptor de desligar
Guardrails: o vínculo explícito é o interruptor de desligar
Um
guardrail_id explícito (quando existe e está habilitado) sempre se
aplica e nunca cai de volta silenciosamente. Se aquele guardrail vinculado
está desabilitado, a chave fica com nenhum guardrail — ela não cai
para o padrão do workspace. Deixe guardrail_id sem definir (0/null) para
herdar o padrão tenant-baseline.Firewall: um vínculo desabilitado cai de volta
Firewall: um vínculo desabilitado cai de volta
Um
firewall_policy_id vinculado se aplica quando existe e está habilitado;
se aquela política está desabilitada, a chave cai de volta para a
política de firewall padrão do workspace. (Isto é o oposto do comportamento
de interruptor de desligar do guardrail — por design.)5. Um exemplo concreto de dois tiers
Digamos que você opera um tier gratuito e um tier enterprise regulado em um workspace:- Linha de base do workspace — guardrail
tenant-baseline(máscara de PII no input, block em cartão/SSN) comois_default, mais o nível de autonomia de firewallbalanced. Cada tenant herda isto. - Chave de tenant do tier gratuito — sem
guardrail_id(herda a linha de base),model_limitsfixado emopenai/gpt-4o-mini, umcredit_limit_usdbaixo. - Chave de tenant enterprise —
guardrail_iddefinido para um guardrailenterprise-piimais rígido (PII block, não mask, no input; block de secrets no stageoutput), umfirewall_policy_idcom uma allow-list de ferramentas mais apertada, um teto de crédito maior eallow_ipsfixado ao backend deles.
/v1/chat/completions com sua própria
chave. O gateway resolve a política certa por chave — o código da sua aplicação
é idêntico para cada tenant.
6. Compliance e residência por tenant
Um tenant regulado frequentemente precisa de uma atestação que o resto não precisa. O compliance roda como um par de workspace dos guardrails e do firewall:- Navegar pelo catálogo de frameworks e prontidão está aberto a qualquer
Member e é gratuito — confirme a cobertura para o framework sobre o
qual um tenant pergunta (
soc2,hipaa,gdpr,iso_27001,pci_dsse mais). - Instalar um pack (
POST /api/compliance/packs/:key/install) materializa os guardrails e políticas de firewall correspondentes no seu workspace; exige Admin do workspace e um plano pago. - Residência de dados fixa a região do seu artefato de relatório de
compliance (
us/eu/uk/ap/cn/global) viaPUT /api/compliance/residency(Admin). Leituras cross-region são retidas.
A residência aqui governa o artefato de relatório de compliance, não a
geo-fixação de dados de inferência. Para a história dos request-log: os logs são
retidos por um padrão de 30 dias (limitados rigidamente a 180), e uma
autoexclusão de usuário roda uma carência de 30 dias depois uma limpeza de PII
que cascateia para as guardrail matches e request logs desse usuário.
7. Observe cada tenant de um workspace
Toda a observabilidade tem escopo de workspace, então um conjunto de feeds cobre todos os seus tenants — filtrável até um único:- Guardrails → Matches (qualquer Member) — toda regra que disparou em todos os tenants: tipo, ação, stage, detalhe. A substring correspondente é registrada somente se Log raw content estiver ligado para aquele guardrail (desligado por padrão — a postura conservadora de privacidade, que mais importa em multi-tenant). Marque um falso positivo para ajustar (Admin).
- Firewall → Events / Runs (Developer+) — cada chamada de ferramenta, consolidada por run de agente, para que o loop de um tenant barulhento ou um egress inédito se destaque.
- Feed de anomalias (Member) — picos de taxa/custo pontuados contra uma baseline aprendida de hora-da-semana capturam um tenant queimando fora do padrão mesmo quando cada chamada é individualmente permitida.
guardrail_blocked /
firewall_blocked), custa nenhuma cota daquele tenant e é marcada como
skip-retry — a fronteira se sustentou sem cobrar o tenant pela rejeição.
8. Para onde aprofundar
Escope chaves, políticas, workspaces
A ordem de resolução completa para vínculo de chave e padrões de workspace.
Referência de Guardrails
Cada tipo de regra, entidade de PII e override por entidade por completo.
Referência de Firewall
Vereditos, superfícies, níveis de autonomia e o plano de política.
Pare a exfiltração de dados
Restrinja o egress outbound do agente de um tenant.
