6.5 跨進 production 的 routing 中樞
模組六前五章建立了個人 dev 視角的 LLM 安全判讀(6.0 供應鏈、6.1 伺服器綁定、6.2 tool use 權限、6.3 prompt injection、6.4 跨雲端資料邊界)、framing 的根基是 0.7 隱私資料流原理。當工作流從個人 dev 跨進團隊共用、再跨進 production 服務時、安全議題的 framing 跟控制機制都會升級。升級的軸對應 backend 既有卡片:attack-surface、blast-radius、trust-boundary、tenant-boundary、iam 等。本章是這兩個跨越的 routing 中樞、把每個議題在 production 場景下的對應位置(backend/07 對應卡片)整理出來、避免讀者在升級階段「不知道下一步該讀什麼」。
讀完本章後、你應該能判讀自己當前處在三層哪一階、要跨到下一階時需要補哪些議題、對應到 backend/07 哪些卡片。
本章目標
- 區分個人 dev、團隊共用、production 三層 LLM 部署的安全議題差異。
- 知道從個人 dev 跨到團隊共用時、需要補哪些控制。
- 知道從團隊共用跨到 production 時、需要補哪些控制。
- 認識每層演化對應的 backend/07 卡片清單。
- 知道何時該停留在當前層、何時該主動升級。
三層演化的判讀軸
1個人 dev(本模組前五章)
2 ↓
3團隊共用(家裡 / 小團隊 / 內部部署)
4 ↓
5production 服務(對外服務 / SaaS / B2B)三層的核心差異:
| 維度 | 個人 dev | 團隊共用 | production 服務 |
|---|---|---|---|
| 使用者數 | 1 | 5 ~ 50 | 50+ / 對外不限 |
| 信任假設 | 自己信自己 | 同事互信、訪客不信 | 全部不信、用 IAM 控制 |
| 資料邊界 | 本機 user account | 內網 | 多租戶、明確隔離 |
| 失誤後果 | 自己承擔 | 影響少數同事 | 影響大量用戶 / 法律責任 |
| 控制機制需求 | 基本配置 + git track | + auth + log + 政策 | + IAM + audit + IR + 合規 |
| 對應的時間 / 預算 | 小時級 | 天級 | 週 / 月級、需要專人或團隊 |
關鍵原則:控制機制應該跟需求對齊、不該過度設計也不該不足。個人 dev 不需要 SOC 2 audit、production 不能只靠 git track。
個人 dev → 團隊共用:要補什麼
從個人 dev 跨到團隊共用、典型的觸發場景:
- 家裡跑模型給家人 / 室友用
- 小團隊共用一台 LLM server
- 公司內部部署、有 5 ~ 50 個工程師用
需要補的控制(在前五章的基礎上):
| 議題 | 從個人 dev 的什麼演化而來 | 對應的補強 | backend/07 對應卡片 |
|---|---|---|---|
| 身份識別 | 自己一人 → 多人共用 | 加 auth、知道誰送了什麼 prompt | identity-access-boundary |
| 入口治理 | bind 到 LAN 加 API key | 反代 + TLS + rate limit | entrypoint-and-server-protection |
| 傳輸信任 | 內網 HTTP 偶爾 OK | 內網全程 HTTPS、TLS 憑證管理 | transport-trust-and-certificate-lifecycle |
| 秘密管理 | dotfile 環境變數 | 集中 secret store(Vault / SSM / Doppler) | secrets-and-machine-credential-governance |
| 供應鏈 | 自己抓 GGUF / npm package(見 6.0) | 內部 mirror、固定 version、定期 audit | supply-chain-integrity-and-artifact-trust |
| 政策 | 自己腦中的判讀 | 寫明 acceptable use、敏感內容指引 | (結合各章的政策性章節) |
團隊共用階段的常見 anti-pattern:
- 把個人 dev 的 dotfile config 直接複製到團隊 server:API key、log 路徑、reset 機制都不對。
- 依賴單一管理員口頭傳遞政策:沒寫下來、新成員不知道、人離職就失傳。
- 跳過 auth 直接用「公司內網本來就安全」當理由:內網設備有訪客、有實習生、有 BYOD、有合作廠商;零信任的最低版本仍要做。
團隊共用 → production:要補什麼
從團隊共用跨到 production 服務、典型的觸發場景:
- 把內部 LLM 服務開放給外部客戶(B2B)
- 做 SaaS-like LLM API 對外賣
- 把 LLM 嵌入產品給終端用戶用
需要補的控制(在前面兩層的基礎上):
| 議題 | 從團隊共用的什麼演化而來 | 對應的補強 | backend/07 對應卡片 |
|---|---|---|---|
| 多租戶隔離 | 共用 server 跨同事 → 跨用戶 | KV cache / log / model 訪問權的多租戶隔離 | llm-multi-tenant-isolation |
| deployment 供應鏈 | 內部 mirror → 對外責任 | 模型 release 流程、簽章、回退機制 | llm-deployment-supply-chain |
| agent prompt injection 後果 | IDE injection(6.3)→ agent 場景(4.4) | tool spec 設計、限制 agent loop、人為 review checkpoint | llm-prompt-injection-in-agent |
| log / PII 治理 | 簡單 access log → 完整 prompt log | log 累積的 prompt 內容、PII 偵測與過濾、保留期限 | llm-log-and-pii-governance |
| 偵測訊號 | 看 log → 主動偵測 | LLM agent 異常行為的訊號設計、tool use 異常模式 | llm-as-service-detection-coverage |
| Workload Identity | server 自己持 API key → workload IAM | 每個 workload 一個身份、可 audit | workload-identity-and-federated-trust |
| 偵測平台 | 手動觀察 → SIEM | 集中偵測、alert 系統 | detection-coverage-and-signal-governance |
| Incident response | 重啟解決 → IR 流程 | IR 演練、escalation、post-mortem | incident-case-to-control-workflow |
| 合規 | 不需要 → 對外服務需要 | GDPR / HIPAA / SOC 2 等 | data-protection-and-masking-governance |
production 階段不是「把團隊共用放大」、是「另一個複雜度等級」。多數議題從 backend/07 既有卡片開始讀、LLM-specific 議題在 backend/07 的 LLM 相關章節(llm-*.md)補充。
何時該停留在當前層
不是所有工作流都需要升級。停留在當前層的合理判讀:
| 當前層 | 該停留的徵兆 | 升級的徵兆 |
|---|---|---|
| 個人 dev | 只有自己用、不分享、沒對外暴露需求 | 開始有人想連你的 server / 想做 demo 給朋友 / 想分享給家人 |
| 團隊共用 | 5 ~ 50 人的內部使用、不對外賣、不涉及客戶 PII | 客戶要連 / 對外 SLA / 要收費 / 開始涉及客戶 PII |
| production | 已對外服務、有 SLA、有客戶 | (目標狀態) |
升級的兩個常見錯誤:
- 過早升級:個人 dev 階段就上 enterprise stack(IAM、Vault、SIEM)、複雜度過高、自己用不到、維護成本反而傷工作流。
- 過晚升級:團隊共用階段該補的控制沒補、出事才補、可能已經有資料外洩 / 法律責任。
判讀依據:控制機制對齊實際 threat model 跟 user 規模、不是「越多越好」。
跨層升級的常見 anti-pattern
從各層往上跨時、常見的意外:
- 把個人 dev 的 LLM client config 直接放上 production:autocomplete model、default model、API key 都不對;production 場景需要重新設計 model 路由。
- 把個人習慣的 prompt injection 防護當 production 防護:「我 git track 工作流」對個人 dev 夠、production agent 場景下、git 不在迴路裡、要改用 tool spec + review checkpoint。
- production 場景仍然依賴使用者「看 prompt 內容」:使用者數量大、不可能每個 prompt 都人工看;production 需要自動化偵測訊號。
- production 場景沒 tenant 隔離:所有用戶的 KV cache / log / context 混在一起、A 用戶能看到 B 用戶的 cache hit。
- 沒有 vendor 政策的書面化承諾:team 階段口頭講「我們不訓練客戶資料」、production 階段要寫進條款 / SLA。
給讀者的層級判讀清單
判斷自己當前在哪一層:
1[ ] 只有自己用 → 個人 dev
2[ ] 1 ~ 5 個人共用一台 server → 個人 dev 或團隊共用初期
3[ ] 5 ~ 50 個人共用、內部部署 → 團隊共用
4[ ] 對外提供 API 服務 / SaaS → production
5[ ] 服務多個客戶 / 涉及客戶 PII → production
6[ ] 有 SLA / 合約承諾 → production對應的「要補的議題」:
1個人 dev → 團隊共用:
2 [ ] auth ← backend/07 identity-access-boundary
3 [ ] 入口治理 ← backend/07 entrypoint-and-server-protection
4 [ ] TLS ← backend/07 transport-trust-and-certificate-lifecycle
5 [ ] secret 集中管理 ← backend/07 secrets-and-machine-credential-governance
6 [ ] 內部 supply chain ← backend/07 supply-chain-integrity-and-artifact-trust
7 [ ] 寫下 acceptable use 政策
8
9團隊共用 → production:
10 [ ] 多租戶 isolation ← backend/07 llm-multi-tenant-isolation
11 [ ] deployment 供應鏈 ← backend/07 llm-deployment-supply-chain
12 [ ] agent prompt injection ← backend/07 llm-prompt-injection-in-agent
13 [ ] log / PII 治理 ← backend/07 llm-log-and-pii-governance
14 [ ] 偵測訊號 ← backend/07 llm-as-service-detection-coverage
15 [ ] workload identity ← backend/07 workload-identity-and-federated-trust
16 [ ] 偵測平台 ← backend/07 detection-coverage-and-signal-governance
17 [ ] IR 流程 ← backend/07 incident-case-to-control-workflow
18 [ ] 合規 ← backend/07 data-protection-and-masking-governance下一步
本章是模組六的最後一章。下一步可以回到 模組六 _index 看其他章節、或進入 Backend 模組七 資安與資料保護 接 production 場景。