<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="680" viewBox="0 0 1200 680" role="img" aria-labelledby="t d">
  <title id="t">API Server 审计事件流转图</title>
  <desc id="d">展示请求从用户和控制器进入 API Server 后，经过审计策略、后端写入和告警消费的链路。</desc>
  <rect width="1200" height="680" fill="#f6f8fb"/>
  <defs>
    <marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse"><path d="M0 0 L10 5 L0 10z" fill="#3867d6"/></marker>
    <filter id="shadow" x="-10%" y="-10%" width="120%" height="120%"><feDropShadow dx="0" dy="6" stdDeviation="8" flood-color="#20304a" flood-opacity="0.12"/></filter>
    <style>.h{font:700 24px Arial,sans-serif;fill:#17233c}.b{font:600 18px Arial,sans-serif;fill:#17233c}.s{font:14px Arial,sans-serif;fill:#526174}.m{font:13px Arial,sans-serif;fill:#6a7689}.card{fill:#fff;stroke:#d8e0ec;stroke-width:2;rx:18;filter:url(#shadow)}.pill{fill:#eaf0ff;stroke:#b9c9ff;rx:14}.line{stroke:#3867d6;stroke-width:4;fill:none;marker-end:url(#arrow)}.dash{stroke:#90a4c4;stroke-width:3;stroke-dasharray:8 8;fill:none;marker-end:url(#arrow)}</style>
  </defs>
  <text x="60" y="58" class="h">审计日志从请求到告警的关键链路</text>
  <text x="60" y="88" class="s">核心目标是记录“谁在什么时候对什么资源做了什么动作”，并把高风险事件送入可检索、可告警的后端。</text>

  <rect x="70" y="145" width="210" height="150" class="card"/>
  <text x="98" y="185" class="b">访问来源</text>
  <rect x="98" y="210" width="150" height="32" class="pill"/><text x="120" y="232" class="s">kubectl / CI</text>
  <rect x="98" y="250" width="150" height="32" class="pill"/><text x="116" y="272" class="s">控制器组件</text>

  <path d="M285 220 C330 220 345 220 390 220" class="line"/>
  <rect x="395" y="130" width="250" height="185" class="card"/>
  <text x="425" y="170" class="b">API Server</text>
  <text x="425" y="202" class="s">认证 Authentication</text>
  <text x="425" y="228" class="s">鉴权 Authorization</text>
  <text x="425" y="254" class="s">准入 Admission</text>
  <text x="425" y="280" class="m">审计阶段贯穿请求生命周期</text>

  <path d="M650 220 C695 220 710 220 755 220" class="line"/>
  <rect x="760" y="115" width="330" height="230" class="card"/>
  <text x="792" y="155" class="b">审计策略匹配</text>
  <text x="792" y="190" class="s">RequestReceived：接收请求</text>
  <text x="792" y="216" class="s">ResponseStarted：开始响应</text>
  <text x="792" y="242" class="s">ResponseComplete：完成响应</text>
  <text x="792" y="268" class="s">Panic：异常中断</text>
  <text x="792" y="304" class="m">按用户、verb、resource、namespace、level 过滤</text>

  <path d="M925 350 C925 390 925 405 925 445" class="line"/>
  <rect x="720" y="450" width="410" height="145" class="card"/>
  <text x="752" y="490" class="b">审计后端与告警消费</text>
  <text x="752" y="523" class="s">log backend：写本地文件或标准输出</text>
  <text x="752" y="549" class="s">webhook backend：投递日志管道 / SIEM</text>
  <text x="752" y="575" class="s">规则消费：高危 verb、异常主体、敏感资源</text>

  <path d="M520 320 C520 390 560 430 710 505" class="dash"/>
  <rect x="95" y="410" width="470" height="150" class="card"/>
  <text x="125" y="450" class="b">落地检查点</text>
  <text x="125" y="485" class="s">1. 策略文件已加载且 API Server 可读取</text>
  <text x="125" y="512" class="s">2. 后端写入有轮转、保留周期和容量监控</text>
  <text x="125" y="539" class="s">3. 告警规则能区分正常运维与异常访问</text>
</svg>
