여기 있는 모든 것은 여러분의 워크스페이스에 바인딩되며 콘솔에서
구성됩니다. 여러분의 앱은 각 테넌트의
sk-orca-... 키로
https://api.orcarouter.ai/v1/chat/completions를 계속 호출합니다 —
게이트웨이의 정책만 바뀝니다. 구성 작업은 각 단계에서 명시한 역할을
요구합니다; /v1/* 릴레이 호출만 테넌트 키를 사용합니다.1. 멀티 테넌트 AI 보안 모델
멀티 테넌트 게이트웨이는 단일 앱과 다른 위협 형태를 가집니다. 중요한 위험은 테넌트 수에 따라 규모가 커집니다:키 유출 = 한 테넌트의 폭발 반경
유출된 테넌트 키는 여러분의 계정을 고갈시키거나, 노출하지 않은 모델을
호출하거나, 그 테넌트의 예산을 넘어 도달할 수 없어야 합니다.
테넌트 간 데이터 누출
한 테넌트의 PII가 공유 로그에, 또는 다른 테넌트로 라우팅된 응답에
도착하는 것은 여러분의 데이터 격리 약속을 깨뜨립니다.
시끄러운 테넌트 에이전트
한 테넌트의 에이전트가 툴에서 루프하거나 임의의 호스트를 가져오는 것이
다른 모든 사람을 위한 게이트웨이를 저하시켜서는 안 됩니다.
테넌트별 컴플라이언스
규제받는 테넌트는 나머지 테넌트가 필요로 하지 않는 PII 마스킹과 데이터
거주지가 필요할 수 있습니다.
2. 기준선: 모든 테넌트가 상속하는 하나의 워크스페이스 정책
모든 테넌트 키가 기본적으로 상속하도록 보안 자세를 워크스페이스 수준에서 한 번 작성하세요 — 테넌트별 중복 없이.기본 guardrail
Guardrails → New guardrail에서, 이름이 지정된 하나의 정책을
작성하고(예: 명시적 guardrail 연결이 없는 모든 테넌트 키는 이 기본값으로
폴백합니다. guardrail 작성은 Developer 역할이 필요합니다.
tenant-baseline) 그것을 워크스페이스 기본값
(is_default)으로 표시하세요. stage input, action mask의 PII
규칙을 추가하여, 어떤 테넌트의 요청도 원시 PII를 업스트림으로 운반하지
않게 하세요:기본 firewall 정책
테넌트가 에이전트를 실행하면, 액션 평면에서 동일하게 하세요: Firewall →
Policies에서 기본 정책을 작성하거나 — 더 빠르게 — Firewall →
Posture를 열고
balanced
자율성 수준을
적용하세요. 그것은 가장 파괴적인 액션을 거부하면서 모든 테넌트의 툴
호출을 감사하고 PII를 워크스페이스 전역으로 플래그하므로, 광범위하게
강제하기 전에 실제 테넌트 동작을 관찰합니다. Developer 역할.3. 테넌트별 범위 지정 키 하나
이것이 테넌트 격리의 핵심입니다: 테넌트 간에 키를 절대 공유하지 말고, 테넌트에게 여러분의 계정 전체 키를 절대 건네지 마세요. 테넌트당 하나의 키를, 그 테넌트가 할 수 있는 것에 정확히 범위 지정하여 발급하세요. API Keys → New key에서 다음을 설정하세요:지출 상한 (denial-of-wallet 경계)
지출 상한 (denial-of-wallet 경계)
credit_limit_usd를 그 테넌트의 상한으로 설정하세요(0 = 무제한). 이는
단 하나의 가장 중요한 멀티 테넌트 컨트롤입니다: 유출되거나 남용된 테넌트
키는 결코 그 테넌트의 예산만 태울 수 있을 뿐, 여러분의 계정은 결코
아닙니다. denial-of-wallet를
참조하세요.모델 고정
모델 고정
model_limits(model_limits_enabled)를 켜고 그 테넌트의 플랜이 포함하는
모델만 나열하세요 — 그래서 유출된 키가 테넌트가 결제하지 않은 비싼 모델을
실행할 수 없습니다.환경 / 테넌트 레이블링
환경 / 테넌트 레이블링
environment(자유 형식 배포 레이블, 예: prod / staging)를 설정하여
테넌트의 트래픽이 여러분의 로그에서 귀속 가능하게 하고 프로덕션 키를 한눈에
테스트 키와 구별할 수 있게 하세요.출처 & 수명 잠그기
출처 & 수명 잠그기
테넌트가 고정된 서버에서 호출하면
allow_ips를 그 테넌트의 백엔드 egress
IP로 설정하고, 트라이얼이나 시간 제한 테넌트에는 expired_time을
설정하세요(-1 = 만료 안 됨).tenant-baseline guardrail과 기본 firewall
정책을 자동으로 상속합니다 — 여러분은 범위 지정 키를 발급했고, 그것은 이미
통제됩니다. 키는 생성 후 표시 시 마스킹되므로, 테넌트를 프로비저닝할 때
한 번 복사하세요.
4. 테넌트별 오버라이드 — 나머지를 건드리지 않고 하나를 강화하기
대부분의 테넌트는 기준선을 탑니다. 하나가 더 필요할 때 — 규제받는 테넌트, 엔터프라이즈 티어, 보호관찰 목록의 테넌트 — 더 엄격한 이름이 지정된 정책을 그 키에만 연결하세요:| 키에 설정 | 그 한 테넌트에 대한 효과 |
|---|---|
guardrail_id | 더 엄격한 이름이 지정된 guardrail로 교체(예: PII 차단). |
firewall_policy_id | 더 단단한 firewall 정책으로 교체(예: 기본 거부 툴). |
Guardrails: 명시적 연결이 off 스위치
Guardrails: 명시적 연결이 off 스위치
명시적
guardrail_id(존재하고 활성화되어 있을 때)는 항상 적용되며
결코 조용히 폴백하지 않습니다. 그 연결된 guardrail이 비활성화되면,
키는 어떤 guardrail도 받지 못합니다 — 워크스페이스 기본값으로
떨어지지 않습니다. tenant-baseline 기본값을 상속하려면 guardrail_id를
설정하지 않은 채로(0/null) 두세요.Firewall: 비활성화된 연결은 폴백함
Firewall: 비활성화된 연결은 폴백함
연결된
firewall_policy_id는 존재하고 활성화되어 있을 때 적용됩니다;
그 정책이 비활성화되면, 키는 워크스페이스 기본 firewall 정책으로
폴백합니다. (이는 guardrail off 스위치 동작의 반대입니다 — 의도적으로.)5. 구체적인 2티어 예제
하나의 워크스페이스에서 무료 티어와 규제받는 엔터프라이즈 티어를 운영한다고 해봅시다:- 워크스페이스 기준선 —
is_default로서tenant-baselineguardrail(입력에서 PII 마스크, 카드/SSN에서 차단), 그리고balancedfirewall 자율성 수준. 모든 테넌트가 이것을 상속합니다. - 무료 티어 테넌트 키 —
guardrail_id없음(기준선 상속),openai/gpt-4o-mini로 고정된model_limits, 낮은credit_limit_usd. - 엔터프라이즈 테넌트 키 — 더 엄격한
enterprise-piiguardrail로 설정된guardrail_id(입력에서 PII block, 마스크 아님;output단계 secrets 차단), 더 단단한 툴 허용 목록을 가진firewall_policy_id, 더 높은 크레딧 상한, 그리고 그들의 백엔드로 고정된allow_ips.
/v1/chat/completions 엔드포인트를
호출합니다. 게이트웨이는 키별로 올바른 정책을 해석합니다 — 여러분의
애플리케이션 코드는 모든 테넌트에 대해 동일합니다.
6. 테넌트별 컴플라이언스 & 거주지
규제받는 테넌트는 종종 나머지가 필요로 하지 않는 증명이 필요합니다. 컴플라이언스는 guardrail과 firewall의 워크스페이스 동료로 실행됩니다:- 프레임워크 카탈로그와 준비도 탐색은 모든 Member에게 개방되고 무료
입니다 — 테넌트가 묻는 프레임워크(
soc2,hipaa,gdpr,iso_27001,pci_dss, 그 외)의 커버리지를 확인하세요. - 팩 설치(
POST /api/compliance/packs/:key/install)는 매칭되는 guardrail과 firewall 정책을 여러분의 워크스페이스로 구체화합니다; 워크스페이스 Admin과 유료 플랜을 요구합니다. - 데이터 거주지는 컴플라이언스 리포트 아티팩트의 지역(
us/eu/uk/ap/cn/global)을PUT /api/compliance/residency(Admin)를 통해 고정합니다. 교차 지역 읽기는 보류됩니다.
여기서 거주지는 추론 데이터 지리 고정이 아니라 컴플라이언스 리포트
아티팩트를 통제합니다. 요청 로그 이야기는: 로그는 기본 30일 보존되고(180일로
하드 상한), 사용자 자기 삭제는 30일 유예를 실행한 다음 그 사용자의 guardrail
matches와 요청 로그로 캐스케이드하는 PII 정리를 실행합니다.
7. 하나의 워크스페이스에서 모든 테넌트 지켜보기
모든 관측성은 워크스페이스 범위이므로, 하나의 피드 세트가 모든 테넌트를 커버합니다 — 단일 테넌트로 필터링 가능:- Guardrails → Matches(모든 Member) — 모든 테넌트에 걸쳐 발동한 모든 규칙: 타입, 액션, 단계, 상세. 매치된 부분 문자열은 그 guardrail에 대해 Log raw content가 켜져 있을 때만 기록됩니다(기본 꺼짐 — 프라이버시 보수적 자세, 멀티 테넌트에서 가장 중요). 튜닝하려면 거짓 양성을 표시하세요 (Admin).
- Firewall → Events / Runs(Developer+) — 모든 툴 호출이, 에이전트 run별로 롤업됨, 그래서 시끄러운 테넌트의 루프나 새로운 egress가 두드러집니다.
- 이상 피드(Member) — 학습된 주중 시간대 베이스라인에 대해 채점된 속도/비용 급증은 각 호출이 개별적으로 허용되더라도 패턴을 벗어나 태우는 한 테넌트를 잡습니다.
guardrail_blocked / firewall_blocked)을
반환하고, 그 테넌트에게 쿼터를 소모하지 않으며, skip-retry로 표시됩니다 —
경계는 거부에 대해 테넌트에게 청구하지 않고 유지되었습니다.
8. 더 깊이 들어가려면
범위 키, 정책, 워크스페이스
키 연결과 워크스페이스 기본값을 위한 전체 해석 순서.
Guardrails 레퍼런스
모든 규칙 타입, PII 엔티티, 그리고 엔티티별 오버라이드를 전부.
Firewall 레퍼런스
판정, 표면, 자율성 수준, 그리고 정책 평면.
데이터 유출 중지
테넌트 에이전트의 아웃바운드 egress를 잠그세요.
