配置映像的 SLSA 认证集合
工具 tekton-chain 收集具有 SLSA 认证的已构建映像的证据。
tekton-chain 工具监视 CI 管道的 build-artifact
阶段,并证明已构建的映像。 证据收集工具针对保存的工件 list_artifacts
方法中的每个图像运行,并收集认证。 然后,该工具会创建必要的证据。 有关更多信息,请参阅 list_工件。
缺省情况下,tekton 链工具会部署到 IBM 受管工作程序。 有关专用工作程序的信息,请参阅 什么是 Tekton 链?。
SLSA 认证参数
您可以使用 tekton-chain 工具设置以下 SLSA 认证参数。
参数名称 | 类型 | 描述 | 必需或可选 |
---|---|---|---|
slsa-attestation |
ENUM | 将此参数设置为枚举值 0 或 1 。 将值设置为 1 以启用 SLSA 认证报告收集。 缺省值为 0 |
必需 |
icr-dockerconfigjson |
secret | base64-encoded Docker config.json 文件,用于存储 IBM Container Registry的凭证信息。 如果映像必须存储在 IBM Container Registry中,请设置此参数。 |
可选 |
artifactory-dockerconfigjson |
secret T | 用于存储 Artifactory的凭证信息的 base64-encoded Docker config.json 文件。 如果映像存储在 Artifactory 或其他容器注册表中,请设置此参数。 |
可选 |
slsa-attestation-public-key |
secret | 用于验证 SLSA 认证报告的 base64-encoded 公用密钥。 | 可选 |
可以通过运行以下命令来手动创建这些私钥:
kubectl create secret docker-registry mysecret \
--dry-run \
--docker-server=<container registry url> \
--docker-username=<username> \
--docker-password=<artifactory token> \
--docker-email=<email> \
-o yaml
对于 IBM Container Registry,使用 iamapikey
作为用户名,使用 IBM Cloud API 密钥作为密码。
此过程输出类似于以下代码片段的响应:
apiVersion: v1
data:
.dockerconfigjson: <your secret>
kind: Secret
metadata:
creationTimestamp: null
name: regcred
type: kubernetes.io/dockerconfigjson
在管道属性中,使用 .dockerconfigjson
值更新 artifactory-dockerconfigjson
或 icr-dockerconfigjson
参数。
证据和附件
根据您根据表 2 中的详细信息设置的值,将生成证据。 DevSecOps 管道将证据上载到锁定程序,并将证据包含在变更请求的证据摘要中。
字段 | 值 |
---|---|
工具类型 | tekton-chains |
证据类型 | com.ibm.cloud.slsa |
资产类型 | image |
attachments | Attestation report generated by the tekton chains as JSON |
调试和日志记录
设置以下参数以进行调试和日志记录。
参数名称 | 缺省值 | 描述 |
---|---|---|
pipeline-debug | 0 | 调试标志 0 off; 1 on |
访问扫描结果
您可以使用以下方法来访问扫描结果:
- 使用 DevSecOps CLI 通过使用阶段日志中打印的信息从证据锁定程序下载扫描结果。 有关更多信息,请参阅以下资源: