kubesec-diagram/kubesec-diagram.github.io
GitHub: kubesec-diagram/kubesec-diagram.github.io
一个交互式的 Kubernetes 安全架构参考图,帮助安全从业者和运维人员系统性地理解 K8s 各组件的安全机制与相互关系。
Stars: 250 | Forks: 25
# Kubernetes 安全图表 (备忘单)
## 这是什么?
这是一个为了更好地理解和概览 Kubernetes 安全而制作的图表。
它并不完整(但欢迎您提交 PR/issue),也不完美,带有一定的主观性,可能并不适合您。
不过,它或许能帮助您在安全背景下与团队讨论 Kubernetes,或者只是让您自己有更深入的理解。
这张图可能做得太详尽了。它并不是作为一个“解决方案”或设计图存在的。
而且内容非常密集,包含大量元素。它的目的不是“解释”所有内容,而是供您坐下来浏览,也许能学到一些新东西。
另外,它是针对本地部署的……对于非本地部署,可能相关性不大。
## 它的来源?
这是 Telenor Norway 为了上述目的而制作的。它不代表任何内部设计、架构甚至模式。这张图是为了讨论而制作的,但最终成为了一个不错的通用备忘单。所以发布出来,希望其他公司或个人也能使用它。
## 更新日志
* v11 (2026-03-04)
* 添加了层级
* 小修复和调整
* v10 (2026-02-22)
* 添加了 gateway-api 作为 ingress 的替代方案
* 关于 Namespace 属性的更多信息
* 从使用 draw.io 导出的 .png 转为使用 .svg,这是一个巨大的进步!
* 所有帮助文本和要点现在都嵌入在图表本身中。编辑起来更容易
* 开启了新的可能性,更多内容见下文的发布说明。
* 更容易保存和创建新对象、更改标签、创建新标签等等。
* 包含过滤器和一些按钮的菜单
* 深色主题
* 一种过滤方式
* 按标签,包括优先级和其他标签(更多功能即将推出,也可用于隐藏图表中的元素)
* 搜索
* 将鼠标悬停在项目上以查看其在图表中的位置
* 状态保存为 URL 参数,使菜单查询可搜索
* 一种固定项目的方式,便于分享您想要关注的内容
* 大量的错误修复
* 将所有 javascript 拆分为较小的文件,以便于管理、更改,也许稍后可以从中创建一个 draw.io 视图库。
* 还有许多其他小东西。您应该试着点击一下,因为它是新的。底层修复了很多东西。
* v9 (2025-08-12)
* 添加了 RBAC、role-bindings 等如何工作的绘图。许多带有信息的新圆圈。
* 关于 API 中优先级和公平性(rate limiting/速率限制)的信息
* 在 "Validating and Mutating Admission Control" 中添加关于 PSA 的信息
* 关于 ABAC 及其状态的更好信息
* "The Container Process" 中的描述更精确
* v8 (2025-07-07)
* 将代码从一个大文件拆分为多个单独的文件。
* 添加保存在 URL 中的用户注释功能,以便分享
* v7 (2025-06-30)
* "The Container Process" 中增加了更多内容
* 如果 javascript 被禁用,显示警告和信息
* ?debug 现在从 ./ 加载图像
* 定义了重复的 namespace,将 uid/gid 更改为 "user",并添加了 UTS。感谢 ruatag!修复了 #2
* v6 (2025-05-11)
* 移除了所有圆圈,改为交互式网页,这更容易
* 通过源代码更新文本
* 文本可以扩展,而无需移动后面的所有文本
* 更简洁的图表
* 不必再担心编号问题
* 更容易从中复制,并包含链接或其他简单的 HTML 元素
* 在左上角和右下角创建了边界角,以便在编辑图表时以 % 为单位的坐标保持静态。切勿将内容移出它们之外。
* 将旧变更日志中的数字引用替换为文本(因为编号已被重新整理/清除)
* 移动内容,使图表变宽,以便在交互式界面下更好地适应屏幕
* 使整个图表更宽,为新内容腾出空间,更容易适应普通屏幕
* 检查了所有文本,并使用 AI 使其更清晰,去除拼写错误并减少困惑。
* RBAC > RBAC/ABAC 以及关于它的一些信息
* 关于危险的 "system:masters" 组的信息
* 添加了更多不同的容器类型及其信息。
* 添加了关于 audit-logging 的信息
* 将网络接口框移出 "container" 并移至 "pod" 下,它们真正属于那里
* 仓库从 https://github.com/lars-solberg/kubesec-diagram 移至 https://github.com/kubesec-diagram/kubesec-diagram.github.io,图表位于 https://kubesec-diagram.github.io
* v5 (2025-05-02)
* Operator 与 service owner 混淆修复
* 使 RBAC 在 API 中的位置更清晰
* 将网络接口分为 overlay 和 underlay,更清楚地区分它们
* v4 (2025-03-10)
* 将某些项目放入带有附加信息的组中
* 更新一些描述
* 更好地分隔 namespaced 与 cluster 资源。添加了更多 namespace 信息作为 "Namespaces" 和 "Namespaced vs global resources"
* 关于策略定义位置的 "The container process" 说明
* 添加了一些示例流量流,ingress 和 egress。使流量流更直观
* 关于 Deployment 对象的说明。它与图中的 single-object Deployments 相同
* v3 (2025-01-10)
* 更多拼写错误和视觉修复
* 添加了关于 kubernetes 发行版的 "Kubernetes distro os’es"
* 添加了关于 "Service portal" 的内容
* 用更通用的信息替换了 "Crossplane" 框。
* v2 (2025-01-07)
* 一些说明和拼写错误修复
* 添加了关于 "Network interfaces" 的信息
* 添加了焦点优先级颜色
* v1 (2024-12-17): 公开发布
## 交互式图表 🔍
请查看 [kubesec-diagram.github.io](https://kubesec-diagram.github.io)
## 支持的 URL 参数
交互式页面支持以下查询参数:
* `debug`
* 使用本地图表源 (`config.imagePaths.debug`) 代替生产源。
* 在某些情况下开启一些调试日志
* `runtime`
* `runtime=modules` 强制使用模块运行时 (`src/*.js`)。
* `runtime=bundle` 强制使用 bundle 运行时 (`dist/app.bundle.js`)。
* 如果未设置:localhost 默认为 `modules`,其他主机默认为 `bundle`。
* `annotations`
* Base64 编码的用户注释 payload,用于分享注释状态。
* `menu`
* `menu=true|false` 控制过滤面板的可见性。
* `filter-query`
* 恢复过滤搜索查询。
* `filter-hide-tags`
* 隐藏标签的逗号分隔列表。
* `pins`
* 固定注释 slug 的逗号分隔列表(SVG 元素上的 `data-slug`)。
* `constraint`
* 当前支持:`constraint=pinned`(仅显示固定项目)。
标签:CheatSheet, DevSecOps, Docker, Gateway API, Ingress, Mutation, On-Prem, SVG, Telenor, 上游代理, 可视化, 多模态安全, 威胁分析, 安全, 安全建模, 安全设计, 安全防御评估, 容器, 思维导图, 数据可视化, 数据处理, 本地部署, 架构图, 网络安全, 自动化侦查工具, 自定义脚本, 超时处理, 运维, 速查表, 隐私保护