步骤一:使用Referrers API关联镜像的衍生制品Referrers API是OCI v1.1.0新版本规范提出的能力,旨在将容器镜像与其衍生制品,例如物料清单(SBOM)、签名和漏洞扫描结果紧密关联。它能够帮助您有效追踪特定软件制品的来源,从而提升镜像的安全性与合规性管理和审查的效率。下面以容器镜像的物料清单(SBOM)生成与关联为例,展示 Referrers API的相关作用。
如果您在环境中无法执行docker sbom命令,需要先安装并配置sbom-cli-plugin组件。
安装配置sbom-cli-plugin组件
如果您在环境中无法执行docker sbom命令时,可以按照如下方式安装和配置sbom-cli-plugin组件。
安装sbom-cli-plugin组件。
wget "https://github.com/docker/sbom-cli-plugin/releases/download/v0.6.1/sbom-cli-plugin_0.6.1_linux_amd64.tar.gz"创建组件目录。
mkdir -p /root/.docker/cli-plugins解压tar包到指定目录中。
tar -zxvf sbom-cli-plugin_0.6.1_linux_amd64.tar.gz -C /root/.docker/cli-plugins以下示例将展示如何使用Referrers API来关联镜像<企业版实例名称>-registry.cn-hangzhou.cr.aliyuncs.com/library/golang:1.20的物料清单(SBOM)。
指明企业版实例域名,并输入您的用户名和登录密码。
登录成功之后会显示Login Succeeded。
docker login <企业版实例名称>-registry.cn-hangzhou.cr.aliyuncs.com
Username: ****@test.com
Password:
Login Succeeded执行以下命令,生成目标镜像的物料清单(SBOM)数据。
docker sbom <企业版实例名称>-registry.cn-hangzhou.cr.aliyuncs.com/library/golang:1.20 --format spdx-json -o sbom.jsom预期输出。
执行以下命令,关联目标镜像物料清单(SBOM)数据。
oras attach --distribution-spec v1.1-referrers-api <企业版实例名称>-registry.cn-hangzhou.cr.aliyuncs.com/library/golang:1.20 sbom.jsom --artifact-type example/sbom预期输出。
执行以下命令,查看目标镜像与物料清单(SBOM)关联关系。
oras discover --distribution-spec v1.1-referrers-api <企业版实例名称>-registry.cn-hangzhou.cr.aliyuncs.com/library/golang:1.20预期输出。