<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>RBAC on YennJ12 Engineering Blog</title><link>https://yennj12.js.org/yennj12_blog_V4/tags/rbac/</link><description>Recent content in RBAC on YennJ12 Engineering Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Sat, 04 Jul 2026 12:00:00 +0800</lastBuildDate><atom:link href="https://yennj12.js.org/yennj12_blog_V4/tags/rbac/feed.xml" rel="self" type="application/rss+xml"/><item><title>Kubernetes 完整指南（三）：進階功能與生產環境實踐</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/kubernetes-complete-guide-part3-advanced-zh/</link><pubDate>Sat, 11 Oct 2025 13:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/kubernetes-complete-guide-part3-advanced-zh/</guid><description>🎯 前言 經過前兩篇的學習，我們已經掌握了 Kubernetes 的基礎概念與核心資源操作。本文將深入探討進階功能與生產環境實踐，幫助你構建企業級的容器平台。
本文重點：
自動擴展（HPA/VPA/CA） RBAC 權限管理 Network Policy 網路策略 Helm 套件管理 監控與告警系統 日誌收集方案 CI/CD 整合 生產環境最佳實踐 ⚡ 自動擴展機制 擴展類型對照 graph TB A[Kubernetes 自動擴展] --&amp;gt; B[HPA&amp;lt;br/&amp;gt;水平 Pod 擴展] A --&amp;gt; C[VPA&amp;lt;br/&amp;gt;垂直 Pod 擴展] A --&amp;gt; D[CA&amp;lt;br/&amp;gt;叢集自動擴展] B --&amp;gt; B1[根據 CPU/記憶體&amp;lt;br/&amp;gt;自動調整 Pod 數量] C --&amp;gt; C1[根據資源使用&amp;lt;br/&amp;gt;調整 Pod 資源限制] D --&amp;gt; D1[根據負載&amp;lt;br/&amp;gt;自動增減節點] style A fill:#326ce5 style B fill:#4ecdc4 style C fill:#feca57 style D fill:#ff6b6b HPA (Horizontal Pod Autoscaler) 基於 CPU 的 HPA：</description></item><item><title>FDE 面試準備指南（四）：System Design 實戰</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/fde-interview-guide-part4-system-design-zh/</link><pubDate>Sat, 30 May 2026 11:30:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/fde-interview-guide-part4-system-design-zh/</guid><description>System Design 是 FDE 面試最能展現工程深度的地方。
面試官不是要你「寫出可以跑的程式碼」，
他想看的是：你在有限資訊下，怎麼做設計決策、怎麼說清楚 trade-off。
面試情境 面試官：「請你設計一個供企業內部使用的 AI 知識庫問答系統，員工可以用自然語言查詢公司政策、產品說明和技術文件。第二題：設計一個 AI Copilot，讓員工用自然語言查詢公司內部數據，例如『今年 Q3 的營收比 Q2 成長了多少？』」
一、System Design 面試的本質 面試官考系統設計，不是要標準答案，是要看三件事：
考點 1：釐清問題的習慣 你有沒有在設計前先問問題？ → 不假設，先問。沒有釐清需求就開始畫圖是大扣分。 考點 2：Trade-off 思維 你說的不是「最好的方案」，而是： 「在這個場景下，我選 X 而不是 Y，因為...」 考點 3：生產環境的現實感 Auth、RBAC、Scale、Cost、Failure Mode—— 有沒有考慮到，是高手和普通人的分水嶺。 二、第一題：企業知識庫 Chatbot 步驟一：釐清需求（你要主動問） 你應該問的問題： 需求面： ├── 同時使用的用戶數量級？（100 人 vs 10 萬人，架構差很多） ├── 文件量多大？（1GB vs 1TB） ├── 回答需要引用文件來源嗎？ └── Latency 要求？（秒級 vs 毫秒級） 安全面（這是 FDE 常被忽略的）： ├── 不同部門能看的文件不同嗎？→ 決定要不要 RBAC ├── 有合規要求嗎？（GDPR、SOC 2） └── 資料能放在公有雲嗎？ 這些問題決定你的架構複雜度。 先問，再設計。 步驟二：完整系統架構 ┌─────────────────────────────────────────────────────────────┐ │ 用戶層 │ │ Browser / Slack Bot / Mobile App │ └───────────────────────────┬─────────────────────────────────┘ │ HTTPS ┌───────────────────────────▼─────────────────────────────────┐ │ API Gateway 層 │ │ ├── SSO Token 驗證（Google Workspace / Okta） │ │ ├── Rate Limiting（防止濫用） │ │ └── 請求日誌（Audit Log 起點） │ └───────────────────────────┬─────────────────────────────────┘ │ 已驗證的用戶 context ┌───────────────────────────▼─────────────────────────────────┐ │ Chatbot Service 層 │ │ │ │ ┌────────────────────┐ ┌─────────────────────────────┐ │ │ │ Query Processor │ │ RBAC Module │ │ │ │ ├── 意圖分類 │ │ 「這個用戶能看哪些文件？」 │ │ │ │ └── Query Rewrite │ │ 在查詢前過濾，不是查完再過濾 │ │ │ └────────────────────┘ └─────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ RAG Engine │ │ │ │ Query → Embedding → [Vector DB + RBAC Filter] │ │ │ │ → Reranker → Context Injection → LLM │ │ │ └──────────────────────────────────────────────────────┘ │ └───────────────────────────┬─────────────────────────────────┘ │ ┌───────────────┬───────────▼──────────┬──────────────────────┐ │ Cache Layer │ Response Generator │ Logging &amp;amp; Monitoring│ │ （相同問題） │ （加入引用來源） │ （審計 + 成本追蹤） │ └───────────────┴───────────────────────┴──────────────────────┘ 設計決策一：Authentication 的選型 選項比較： API Key JWT + SSO ──────────────────────────────────────────────────────── 適合場景 機器對機器 人類用戶登入 身分追蹤 無（共用 key） 有（每個 token 帶用戶身分） RBAC 支援 無（要額外設計） 原生（token payload 帶角色） Token 輪換 麻煩 自動（SSO refresh） 企業整合 困難 直接接 Google Workspace / Okta 結論：企業知識庫選 JWT + SSO token payload 帶 user_id、department、roles， 後面所有服務直接讀，不需要每次去查資料庫 面試官最想聽到的一句話：</description></item><item><title>Kubernetes Autoscaling Complete Guide (Part 8): Security, Compliance &amp; Governance</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/kubernetes-autoscaling-complete-guide-part8-security-compliance-governance/</link><pubDate>Mon, 10 Nov 2025 02:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/kubernetes-autoscaling-complete-guide-part8-security-compliance-governance/</guid><description>Part 8 of the Kubernetes Autoscaling series: Complete guide to securing autoscaling infrastructure with RBAC, policy enforcement, compliance frameworks (PCI-DSS, HIPAA, SOC2), multi-tenancy patterns, audit logging, and governance best practices for enterprise Kubernetes.</description></item><item><title>FDE 面試準備指南（四十）：RKK 實戰——AI 系統的 PII 保護：假名化設計、最小存取原則與合規稽核</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/fde-interview-guide-part40-pii-security-zh/</link><pubDate>Mon, 08 Jun 2026 10:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/fde-interview-guide-part40-pii-security-zh/</guid><description>傳統系統的 PII：存在資料庫，加密，控制誰能查。
AI 系統的 PII：流進 Prompt，流進 LLM，流進 Log，流進 Vector Index。
每一個流動的路徑，都是洩漏的可能。
問題不是「有沒有加密」，而是「PII 根本不應該出現在那裡」。
面試情境 面試官：「客戶是一家醫院，想建一個 AI 助手幫助醫護人員查詢病患病歷和用藥記錄。病患資料是最敏感的個人資訊。你作為架構師，如何設計這個系統確保 PII 不會洩漏？請說明你的設計決策和 trade-off。」
一、為什麼 AI 系統的 PII 比傳統系統更難控制 傳統資料庫系統的 PII 流動路徑（有限、可審計）： Application → DB（加密）→ 取回資料 → 顯示給用戶 PII 節點：1 個（DB） AI 系統的 PII 流動路徑（多節點、難以控制）： 醫護查詢：「李先生今天的血糖值？」 │ ▼（節點 1：Prompt 組裝） Agent Context = System Prompt + Query + Retrieved Docs + History ↑含 PII ↑含 PII ↑含 PII │ ▼（節點 2：LLM API 傳輸） LLM API Call（PII 被傳送到外部服務） │ ▼（節點 3：LLM 輸出） Response（PII 出現在輸出文字中） │ ├──→（節點 4）Application Log（PII 可能被完整記錄） ├──→（節點 5）Trace Span Attributes（PII 可能在 Debug 資訊） ├──→（節點 6）Conversation History DB（PII 持久化） └──→（節點 7）Vector Index（病患姓名被 Embedding 進向量空間） 傳統系統：保護 1 個節點 AI 系統：需要保護 7 個節點，每個節點的保護方式不同 核心結論： 加密不夠。加密是傳輸和儲存的保護， 但 PII 在流進 LLM 的那一刻，加密已經被解開了。 真正的保護是：讓 PII 不需要以明文形式流入不必要的節點。 二、三個安全強化階段 ╔══════════════════════════════════════════════════════════════╗ ║ Phase 1：POC / 概念驗證 ║ ║ 策略：基本防護，確保不發生重大事故 ║ ╚══════════════════════════════════════════════════════════════╝ 必做項目： ├── TLS 1.</description></item><item><title>Auto Agent System - Part 4 - 生產化之路:Langfuse 可觀測性、Docker 瘦身與 AWS 部署</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/auto-agent-system-part4-production-zh/</link><pubDate>Sat, 04 Jul 2026 12:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/auto-agent-system-part4-production-zh/</guid><description>「在我電腦上跑得起來」和「能給一群人用」之間,隔著四道牆: 你看得到它在做什麼嗎(可觀測性)?它打包起來多大、部署多快(image)? 它能自動擴縮、掛了會自己重啟嗎(部署)?誰能用、能用什麼由誰決定(權限)? 這一篇,就是 agent_auto_system 翻過這四道牆的過程。
前三篇我們把系統的「能力」講完了:架構(Part 1)、可靠性引擎(Part 2)、實戰任務(Part 3)。這一篇談的是另一個維度——生產化(productionization):讓這套系統能被真實地、多人地、可維運地跑起來。四個主題,對應四個 merged PR。
一、Langfuse 可觀測性:在唯一的漏斗上掛 trace 對應 PR #19:feat(harness): add Langfuse LLM-observability integration
Part 2 我們反覆強調:LLM 的「錯」不是當機,而是品質退化——HTTP 200,但答案是編的。你需要一種能看見「品質」的監控,這就是 LLM 可觀測性,而 Langfuse 是這個領域的代表工具。
這個 PR 最漂亮的地方,是它的 PR 描述本身就是一堂架構課:
「CrewAI 1.x 直接呼叫各家原生 provider SDK(不走 litellm),所以要把 Langfuse 掛在 executor——這個已經知道 model、tokens、cost、eval score、status 的唯一漏斗。」
拆解這句話為什麼重要:
很多人以為的 Langfuse 接法: 在「LLM 呼叫的那一行」自動攔截(靠 litellm 之類的中介層) 但 CrewAI 1.x 直接打原生 SDK,沒有那個中介層可攔 │ ▼ 聰明的做法:不在「呼叫點」攔,而在「執行點」記 │ ▼ executor 是所有任務的必經之路,而且它手上早就有: model + tokens + cost + eval score + status → 在這裡發一條 trace,一次到位、還帶品質分數 ┌─────────────────────────────────────────────────┐ │ executor.</description></item><item><title>Building a Centralized User Access Control System with AWS Cognito and CDK</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/centralized-user-access-control-aws-cognito-cdk/</link><pubDate>Sun, 30 Nov 2025 13:00:00 +0000</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/centralized-user-access-control-aws-cognito-cdk/</guid><description>🎯 Introduction Building a centralized user access control system is one of the most critical architectural decisions for modern applications. Whether you&amp;rsquo;re managing a single application or a microservices ecosystem, having a robust, scalable authentication and authorization system is essential for:
Single Source of Truth: One system managing all user identities and permissions Consistency: Uniform authentication experience across all services Security: Centralized security policies and compliance controls Scalability: Support for millions of users across multiple applications Developer Experience: Simple integration for new services Cost Efficiency: Managed service without operational overhead This comprehensive guide demonstrates how to design and implement a production-ready centralized access control system using AWS Cognito and CDK (TypeScript), with strategies for multi-tenancy, role-based access control (RBAC), and integration patterns for various services.</description></item></channel></rss>