配置 Checkov 扫描
概述
Checkov 是一款用于“基础设施即代码”( IaC )的静态代码分析工具。 它会扫描云配置,以查找安全和合规性方面的配置错误。 它确保:
- “基础设施即代码”符合安全最佳实践。
- 扫描诸如开放端口、硬编码的密钥、权限过高以及不安全的配置等问题。
- 可在各类云平台和容器编排系统上运行,有助于规避部署过程中的安全风险。
此扫描是 PR(应用预览版)、CI 和 CC 管道中“合规性检查”阶段的一部分。
启用和配置 Checkov 扫描
您可以通过两种不同的框架运行 Checkov 扫描:
- Terraform 计划:对生成的 Terraform 计划运行 Checkov 扫描。 要启用此功能,请将
opt-in-checkov作为文本属性添加到管道或触发器属性中,并将值设置为非空字符串(0除外)。 - Kubernetes: 对 Kubernetes 的清单文件运行 Checkov 扫描。 要启用此功能,请将
opt-in-checkov-kubernetes作为文本属性添加到管道或触发器属性中,并将值设置为非空字符串(0除外)。 注意:由于 Code Risk Analyzer(CRA)已 弃用,Checkov Kubernetes 扫描可作为cra-deploy-analysis的替代方案,并能生成com.ibm.code_cis_check中的证据。
启用这些功能会从合规性检查阶段运行以下脚本:
- Checkov Scan (运行 Terraform 计划扫描)
- Checkov Kubernetes 扫描 (运行 Kubernetes 扫描)
如果环境中尚未安装 Checkov,这些脚本会自动安装它。
契诃夫参数
下表中列出的管道环境属性与密钥用于自定义 Checkov 扫描。
| 参数名称 | 说明 |
|---|---|
checkov-args |
直接传递给 checkov 命令的其他参数。 |
tf-dir |
源代码仓库中 main.tf 所在的位置或路径。 (默认值为 .) |
checkov-version |
如果环境中尚未安装 Checkov,请安装此版本。 (默认安装最新版本) |
checkov-prisma-api-url |
Prisma Cloud API URL。 必须是 *.prismacloud.io、*.prismacloud.cn 或 *.bridgecrew.cloud 格式的域名。 |
checkov-bc-api-key |
Bridgecrew API 密钥或 Prisma Cloud 访问密钥。 使用 get_secret 检索此内容。 |
契诃夫证据及附件
DevSecOps 管道会将证据上传至存储库,并将该证据纳入变更请求的证据摘要中。
Checkov Terraform 计划证据
下表列出了 Terraform Plan checkov 扫描的证据详情。
| 字段 | 值 |
|---|---|
tool type |
checkov |
evidence type |
com.ibm.code_vulnerability_scan |
asset type |
repo |
attachments |
Checkov 结果 JSON 文件 |
契诃夫 Kubernetes 证据
下表列出了 Kubernetes 检查扫描的证据详情。
| 字段 | 值 |
|---|---|
tool type |
checkov |
evidence type |
com.ibm.code_cis_check |
asset type |
repo |
attachments |
Checkov 结果 JSON 文件 |
查看您的扫描结果
您可以通过以下方法查看扫描结果:
- 使用 DevSecOps/CoCoa CLI 命令行工具,根据阶段日志中显示的信息,从证据存储库下载您的扫描结果。 有关更多信息,请参阅以下资源: