安全即代码
安全即代码 是什么?
安全即代码将安全控制、测试和基础设施以源代码形式表达,实现版本化、同行评审、自动化,并与应用一起持续交付的实践。
安全即代码(Security as Code,SaC)是将策略即代码理念推广到所有安全工件:检测规则、IaC 加固、IAM 权限、机密配置、威胁模型、CI/CD 安全门禁等均作为代码存放在 Git 中,并通过与应用相同的流水线交付。常见组成包括默认安全的 Terraform 模块、Rego/Sentinel 策略包、CodeQL 或 Semgrep 规则、Falco/Sigma 检测规则,以及内建安全上下文的 Kubernetes 清单。该方法为安全团队提供版本历史、同行评审、自动化测试、漂移检测和可重复发布,以持续可审计的安全交付取代以工单驱动的手工加固,并与 DevSecOps 深度整合。
● 示例
- 01
Terraform 模块默认部署具备私有终结点和审计日志的 EKS 集群。
- 02
Semgrep 规则集存放在安全规则仓库中并版本化,合并前必须通过。
● 常见问题
安全即代码 是什么?
将安全控制、测试和基础设施以源代码形式表达,实现版本化、同行评审、自动化,并与应用一起持续交付的实践。 它属于网络安全的 云安全 分类。
安全即代码 是什么意思?
将安全控制、测试和基础设施以源代码形式表达,实现版本化、同行评审、自动化,并与应用一起持续交付的实践。
安全即代码 是如何工作的?
安全即代码(Security as Code,SaC)是将策略即代码理念推广到所有安全工件:检测规则、IaC 加固、IAM 权限、机密配置、威胁模型、CI/CD 安全门禁等均作为代码存放在 Git 中,并通过与应用相同的流水线交付。常见组成包括默认安全的 Terraform 模块、Rego/Sentinel 策略包、CodeQL 或 Semgrep 规则、Falco/Sigma 检测规则,以及内建安全上下文的 Kubernetes 清单。该方法为安全团队提供版本历史、同行评审、自动化测试、漂移检测和可重复发布,以持续可审计的安全交付取代以工单驱动的手工加固,并与 DevSecOps 深度整合。
如何防御 安全即代码?
针对 安全即代码 的防御通常结合技术控制与运营实践,详见上方完整定义。
安全即代码 还有哪些其他名称?
常见的别称包括: SaC, DevSecOps 即代码。
● 相关术语
- cloud-security№ 839
策略即代码
将安全、合规与治理规则用机器可读的代码进行定义,从而可版本化、可测试、可评审并自动执行的实践。
- cloud-security№ 756
OPA(开放策略代理)
CNCF 毕业的通用策略引擎,使用 Rego 语言将授权决策与应用以及 Kubernetes 准入控制解耦。
- cloud-security№ 600
Kubernetes 安全
对 Kubernetes 集群(API Server、控制平面、节点、工作负载与网络)的保护,防止配置错误、被攻陷以及横向移动。
- compliance№ 204
合规
通过文档化控制、证据收集和持续评估,满足法律、监管、合同及内部安全要求的实践。
- cloud-security№ 1014
服务网格安全
服务网格为云原生环境中服务间流量提供的身份、加密与授权控制集合。
- network-security№ 1262
零信任网络
默认不信任任何用户、设备或服务,并对每一次连接基于身份进行持续验证的网络架构。