8.4. 使用公钥验证 sigstore 镜像签名
您可以使用以下步骤验证容器镜像是否已正确签名。
先决条件
-
container-tools元数据包已安装。
流程
在
/etc/containers/registries.d/default.yaml文件中添加以下内容:docker: <registry>: use-sigstore-attachments: true通过设置
use-sigstore-attachments选项,Podman 和 Skopeo 可以借助镜像读取和写入容器 sigstore 签名,并将它们保存在与签名镜像相同的存储库中。注意您可以在
/etc/containers/registries.d/default.yaml文件中编辑系统范围的注册中心配置。您还可以编辑/etc/containers/registries.d目录中任何 YAML 文件中的注册中心或存储库配置部分。所有 YAML 文件都是读取的,文件名可以是任意的。单个范围 (default-docker、注册中心或命名空间) 只能存在于/etc/containers/registries.d目录中的一个文件中。编辑
/etc/containers/policy.json文件以强制 sigstore 签名存在:... "transports": { "docker": { "<registry>/<namespace>": [ { "type": "sigstoreSigned", "keyPath": "/some/path/to/cosign.pub" } ] } } ...通过修改
/etc/containers/policy.json配置文件,您可以更改信任策略配置。Podman、Buildah 和 Skopeo 强制执行容器镜像签名的存在。拉取镜像:
$ podman pull <registry>/<namespace>/<image>
podman pull 命令会根据配置强制实施签名存在,不需要额外的选项。