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, 上游代理, 可视化, 多模态安全, 威胁分析, 安全, 安全建模, 安全设计, 安全防御评估, 容器, 思维导图, 数据可视化, 数据处理, 本地部署, 架构图, 网络安全, 自动化侦查工具, 自定义脚本, 超时处理, 运维, 速查表, 隐私保护