7_Harness驾驭工程安全与成本层:DevSecOps与云成本优化

news2026/3/27 7:42:14
7_Harness驾驭工程安全与成本层DevSecOps与云成本优化关键字DevSecOps、安全测试编排、STO、SAST、DAST、SCA、OPA策略、策略即代码、Rego、软件供应链安全、SBOM、依赖追溯、云成本管理、CCM、FinOps、资源浪费识别、预算告警、RBAC、审计日志、单位经济学一、安全和成本两个被CI/CD平台长期忽视的维度大多数CI/CD平台的设计者都是交付出身——他们想的是怎么把代码更快更稳地搬到生产环境。这个出发点没问题但它遗漏了两个重要问题问题一搬过去的代码安不安全你可以一分钟部署到生产但如果里面有Log4j 2.0那样的漏洞一分钟部署变成一分钟灾难。问题二搬过去的服务花了多少钱你可以一天发布十次但如果每次发布都忘了关掉测试环境的闲置资源云账单会悄悄吃掉你的利润。Harness在2020年之后陆续把安全和成本纳入平台这不是功能堆砌而是补齐了代码到运维的全链路视野。二、安全与合规Security Compliance2.1 Security Testing OrchestrationSTO安全扫描工具多如牛毛——SAST、DAST、SCA、容器扫描、IaC扫描——每个工具产出一堆报告然后安全团队就淹没在告警的海洋里了。Harness STO的价值不是多一个扫描工具而是编排和优先级排序传统安全扫描 vs Harness STO ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 传统方式 开发者提交代码 → SonarQube扫描发现45个问题 → Snyk扫描发现12个依赖漏洞 → Trivy扫描发现3个容器漏洞 → 安全团队看报告60个问题哪个先修 Harness STO方式 开发者提交代码 → 多工具并行扫描 → 自动去重60个问题去重后28个唯一问题 → 自动优先级排序 CRITICAL: 2个已知被利用的CVE HIGH: 5个影响生产环境 MEDIUM: 12个仅影响测试环境 LOW: 9个信息性 → AI修复建议CRITICAL和HIGH每个都附带修复方案 → 策略执行CRITICAL阻断部署HIGH记录追踪2.2 扫描类型与工具集成扫描类型检测目标集成工具示例适用阶段SAST静态分析源代码中的安全缺陷SonarQube, Checkmarx, SemgrepCI阶段DAST动态分析运行时的安全漏洞OWASP ZAP, Burp Suite部署后/定时SCA依赖分析第三方依赖中的漏洞Snyk, Dependabot, WhiteSourceCI阶段容器扫描镜像中的漏洞Trivy, Aqua, Prisma Cloud构建阶段IaC扫描基础设施配置安全问题Checkov, tfsec, KicsCI阶段秘钥检测代码中泄露的密钥GitLeaks, TruffleHogPre-commit2.3 AI驱动的漏洞修复传统安全扫描最大的问题是它告诉你有问题但不告诉你怎么改。Harness的AppSec Agent能自动生成修复建议漏洞修复示例 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 扫描发现CVE-2025-XXXXXSpring Framework RCE漏洞 严重级别CRITICALCVSS 9.8 影响范围payment-service, user-service AI修复建议 文件pom.xml 位置第45行 当前spring-boot.version3.2.0/spring-boot.version 修复spring-boot.version3.2.2/spring-boot.version 原因Spring Framework 3.2.0-3.2.1 存在路径遍历漏洞 (CVE-2025-XXXXX)3.2.2已修复 影响评估 · 修改后需要重新运行所有依赖Spring Boot 3.2.x的测试 · Test Intelligence分析受影响的测试 47个 · 预计兼容性风险LOW仅为补丁版本升级 操作 [自动创建PR] [手动修复] [暂时接受风险]2.4 策略即代码OPA/Rego安全合规不能只靠人的自觉性。Harness通过OPAOpen Policy Agent实现了策略即代码——安全规则写成代码机器执行不可绕过。# OPA策略禁止部署带有CRITICAL漏洞的镜像 package harness.security default allow false # 规则1禁止CRITICAL漏洞 deny[msg] { input.vulnerabilities[i].severity CRITICAL msg : sprintf(禁止部署发现CRITICAL漏洞 %s (CVSS %v) 在 %s, [input.vulnerabilities[i].cve_id, input.vulnerabilities[i].cvss_score, input.vulnerabilities[i].component]) } # 规则2生产环境禁止使用latest标签 deny[msg] { input.environment production input.image.tag latest msg : 生产环境禁止使用latest标签必须使用明确版本号 } # 规则3所有公开暴露的端口必须有安全组规则 deny[msg] { input.exposed_ports[i].public true not input.exposed_ports[i].has_security_group msg : sprintf(公开端口 %d 必须配置安全组规则, [input.exposed_ports[i].number]) }这些策略可以在流水线阶段自动执行阻断不合格的部署集成到PR Review流程中PR中包含违规配置则无法合并生成合规报告审计时直接导出2.5 软件供应链安全现代软件的代码只有30%是自己写的70%来自第三方依赖。软件供应链安全越来越重要软件供应链安全管理 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 环节1依赖准入 · 新引入的依赖必须通过安全审查 · 自动检查开源许可证合规 · 维护已批准依赖白名单 环节2SBOM生成 每次构建自动生成SBOMSoftware Bill of Materials ┌─────────────────────────────────────────┐ │ SBOM: payment-service v2.4.0 │ │ │ │ 直接依赖23个 │ │ spring-boot-starter-web 3.2.2 │ │ spring-data-jpa 3.2.2 │ │ postgresql-driver 42.7.1 │ │ ... │ │ │ │ 传递依赖156个 │ │ jackson-databind 2.16.1 │ │ tomcat-embed-core 10.1.18 │ │ ... │ │ │ │ 许可证Apache-2.0(180) MIT(42) │ │ 疑似许可证冲突0个 │ └─────────────────────────────────────────┘ 环节3持续监控 · 已知依赖出现新CVE → 自动通知 · 依赖版本过时6个月未更新→ 提醒升级 · 依赖被废弃/停止维护 → 风险提示 环节4签名验证 · 镜像签名验证Sigstore/Cosign · 构建来源追溯SLSA Level 3 · 防止供应链投毒攻击三、云成本管理CCM3.1 为什么云成本管理属于DevOps平台很多人觉得云成本是财务/运维的事跟DevOps有什么关系关系大了。一个典型的成本泄漏路径成本泄漏的典型路径 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1. 开发者在CI流水线中创建了一个大型测试集群 每条PR都创建但从不销毁 2. Feature Flags A/B测试结束后实验用的 EC2实例没有被关掉 3. 混沌实验注入故障后自动扩缩策略触发 了扩容但实验结束后缩容没有恢复 4. 金丝雀发布用了两套完整的生产环境 蓝绿部署但绿灯环境一直没销毁 5. 每个微服务团队各自开了一个Redis 集群其实可以共享 这些看起来都是小事但在云上小事乘以始终运行乘以 大量复制 巨额账单。 一个月多花3万美元的云成本对很多公司来说就是 一个初级工程师的年薪。3.2 实时成本可见性Harness CCM 成本仪表盘 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┌──────────────────────────────────────────────────────┐ │ 云成本总览2026年3月 │ │ │ │ 本月支出$128,500 预算$150,000 │ │ 预算使用率85.7% 预计月底$152,300 ⚠ 超预算 │ │ │ │ 按团队分布 │ │ ████████████████░░░░░░░░░░░░░░ │ │ 支付团队 $52,000 ████████████░░░░░░░░░ │ │ 用户团队 $38,000 █████████░░░░░░░░░░ │ │ 搜索团队 $25,000 ██████░░░░░░░░░░░░░ │ │ 基础设施 $13,500 ███░░░░░░░░░░░░░░░░ │ │ │ │ 按环境分布 │ │ Production: $89,500 (69.6%) │ │ Staging: $28,000 (21.8%) │ │ Dev/Testing: $11,000 (8.6%) ← 偏高 │ │ │ │ 成本趋势按周 │ │ W1: $30,200 W2: $32,100 W3: $33,800 W4: $32,400 │ │ 趋势持续上升每周3% │ └──────────────────────────────────────────────────────┘3.3 AI节省建议FinOps Agent会自动分析成本数据并给出节省建议AI成本节省建议 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 建议1关闭闲置资源预计月节省 $8,200 ┌──────────────────────────────────────────────┐ │ 发现12个EC2实例在过去14天内CPU2% │ │ · dev-search-cluster-0312天未使用 │ │ · staging-payment-mock7天未使用 │ │ · perf-test-large测试后未销毁 │ │ │ │ 建议保留快照终止实例 │ │ [一键终止] [查看详情] [忽略] │ └──────────────────────────────────────────────┘ 建议2优化实例规格预计月节省 $5,400 ┌──────────────────────────────────────────────┐ │ 8个实例规格过大CPU利用率持续20% │ │ · order-service-prod: m5.2xlarge → m5.xlarge│ │ · user-service-prod: r5.4xlarge → r5.2xlarge│ │ │ │ 预计性能影响无当前利用率仅15% │ │ [应用建议] [逐一确认] [忽略] │ └──────────────────────────────────────────────┘ 建议3预留实例转换预计月节省 $12,000 ┌──────────────────────────────────────────────┐ │ 30个生产实例24/7运行当前按需计费 │ │ 转为预留实例可节省60%费用 │ │ │ │ 1年预留节省$12,000/月 │ │ 3年预留节省$18,000/月 │ │ [申请预留] [模拟报价] │ └──────────────────────────────────────────────┘3.4 预算告警与自动关停# 预算策略配置budget_policies:-name:团队月度预算teams:[payment,user,search]monthly_budget:$45000alert_thresholds:-50%:info# 通知团队Lead-80%:warning# 通知团队DevOps Lead-100%:critical# 通知管理层可能触发资源冻结auto_actions:-when:budget100%action:冻结非生产环境的新资源创建-when:budget120%action:自动缩减Dev/Test环境的实例规格-name:单服务成本异常anomaly_detection:truedaily_budget_change_threshold:30%# 日成本波动超30%触发告警notification:[slack:#finops-alerts,pagerduty:finops-oncall]3.5 单位经济学分析把云成本和业务指标关联起来才能做出有意义的优化决策单位经济学分析示例 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 指标 当前值 目标值 ───────────────────────────────────────────── 每笔交易成本 $0.023 $0.020 每活跃用户成本 $0.85 $0.70 每API请求成本 $0.0004 $0.0003 每GB数据传输成本 $0.085 $0.080 趋势 · 每笔交易成本本月上升8%因为引入了新的风控API调用 · 每API请求成本下降15%因为切换到了ARM实例 · 每活跃用户成本持平四、治理与合规4.1 RBAC权限模型RBAC 权限矩阵 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 角色 | CI | CD | FF | 安全 | 成本 | 审计 ───────────────────────────────────────────────────── 开发者 | 运行 | 查看 | 查看 | 无 | 无 | 无 团队Lead | 管理 | 管理 | 管理 | 查看 | 查看 | 查看 DevOps工程师 | 管理 | 管理 | 管理 | 管理 | 查看 | 查看 安全工程师 | 查看 | 查看 | 查看 | 管理 | 无 | 查看 FinOps分析师 | 查看 | 查看 | 查看 | 无 | 管理 | 查看 平台管理员 | 管理 | 管理 | 管理 | 管理 | 管理 | 管理 审计员 | 无 | 无 | 无 | 无 | 无 | 管理4.2 审计日志所有操作都会记录审计日志审计日志示例 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [TIMESTAMP] 2026-03-26T10:30:00Z [ACTION] deployment.execute [ACTOR] zhangsancompany.com (Team Lead) [RESOURCE] payment-service / production [DETAIL] Canary deployment v2.4.0 → 5% traffic [RESULT] SUCCESS [IP] 10.0.1.42 [SESSION] abc-123-def-456 [TIMESTAMP] 2026-03-26T10:35:00Z [ACTION] feature_flag.update [ACTOR] lisicompany.com (Developer) [RESOURCE] new-checkout-flow / production [DETAIL] Changed: default_serve from OFF to ON(10%) [RESULT] SUCCESS [IP] 10.0.2.15 [SESSION] xyz-789-uvw-012 [TIMESTAMP] 2026-03-26T10:40:00Z [ACTION] security_scan.block_deployment [ACTOR] system (OPA Policy Engine) [RESOURCE] order-service / production [DETAIL] Blocked: CVE-2025-XXXXX CRITICAL vulnerability in spring-boot-starter-web 3.2.0 [RESULT] BLOCKED [IP] system [SESSION] policy-engine五、小结安全不是扫描完了就安全了成本不是看了账单就够了。Harness把安全和成本嵌入软件交付流程的做法本质上是在回答一个问题怎么让非功能性需求安全、合规、成本变成软件交付流程的一部分而不是事后补救当安全扫描结果可以阻断部署当OPA策略可以在PR阶段自动执行当云成本异常可以触发自动缩容——这些非功能性需求就不再是安全团队的活或运维团队的活而是整个交付流程的内建能力。系列导航1-架构全景 | 2-AI层 | 3-CI层 | 4-CD层 | 5-Feature Flags | 6-可靠性层 | 7-安全与成本层 | 8-企业实践

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2453722.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…