如何添加Threat Model中Privilege Boundaries所用的分割曲线虚线
实现方案参考
完全可以实现你需要的效果,目前主流的文本式绘图工具都支持自定义权限边界的线条样式,你可以直接配合CI/CD流水线完成自动构建,不需要依赖在线工具或者本地商业软件:
- 优先推荐用Mermaid实现,现在GitHub、GitLab等主流代码托管平台已经原生支持Mermaid渲染,无需额外配置就能直接在仓库预览威胁模型图:
- 自定义曲线虚线权限边界只需要给边界元素添加样式参数:
stroke-dasharray: 5 5控制虚线间隔,curve: basis控制线条为平滑曲线,还可以自定义颜色、线条粗细匹配你需要的视觉效果 - 最简示例代码如下:
threat-model-v2 element 普通用户权限边界 boundary element 外部访客 actor element 内部业务服务 process element 核心数据库 data boundary 普通用户权限边界 { 内部业务服务 } link 外部访客 --> 内部业务服务: 发起访问请求 link 内部业务服务 --> 核心数据库: 读写数据 # 自定义权限边界样式 style 普通用户权限边界 stroke-dasharray: 5 5, stroke: #2563eb, stroke-width: 2, curve: basis
- 自定义曲线虚线权限边界只需要给边界元素添加样式参数:
- 如果你们团队惯用PlantUML,也可以通过全局样式配置实现同款效果:
- 添加配置
skinparam boundary { BorderStyle dashed BorderColor #2563eb BorderThickness 2 },再搭配linetype spline参数即可生成曲线虚线的权限边界
- 添加配置
- 两种方案的绘图代码都是纯文本格式,可以直接存在Git仓库中,CI/CD环节只需要安装对应轻量渲染工具(Mermaid用
mermaid-cli,PlantUML用官方命令行工具)就可以自动导出高清图片嵌入文档,完全避免原始源文件丢失的问题。
内容的提问来源于stack exchange,提问作者CodeChimp
相关产品推荐
相关产品推荐

