8.4. 使用公钥验证 sigstore 镜像签名


您可以使用以下流程验证容器镜像是否被正确签名。

先决条件

  • container-tools 模块已安装。

流程

  1. /etc/containers/registries.d/default.yaml 文件中添加以下内容:

    docker:
        <registry>:
            use-sigstore-attachments: true
    Copy to Clipboard Toggle word wrap

    通过设置 use-sigstore-attachments 选项,Podman 和 Skopeo 可以将容器 sigstore 签名与镜像一起读写,并将它们保存在与签名镜像相同的存储库中。

    注意

    您可以在 /etc/containers/registries.d/default.yaml 文件中编辑系统范围的注册中心配置。您还可以编辑 /etc/containers/registries.d 目录中的注册中心或任何 YAML 文件中的注册中心配置部分。所有 YAML 文件都可读,文件名可以是任意的。单个范围(default-docker、注册中心或命名空间)只能存在于 /etc/containers/registries.d 目录中的一个文件中。

  2. 编辑 /etc/containers/policy.json 文件以强制 sigstore 签名存在:

    ...
    "transports": {
                "docker": {
                    "<registry>/<namespace>": [
                        {
                            "type": "sigstoreSigned",
                            "keyPath": "/some/path/to/cosign.pub"
                        }
                    ]
                }
            }
    ...
    Copy to Clipboard Toggle word wrap

    通过修改 /etc/containers/policy.json 配置文件,您可以更改信任策略配置。Podman、Buildah 和 Skopeo 强制容器镜像签名的存在。

  3. 拉取镜像:

    $ podman pull <registry>/<namespace>/<image>
    Copy to Clipboard Toggle word wrap

podman pull 命令会强制签名存在,而无需额外的选项。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat