8.2. 验证 GPG 镜像签名
您可以按照以下流程验证是否使用 GPG 密钥正确签名容器镜像。
先决条件
-
container-tools元数据包已安装。 设置签名读取的 Web 服务器,您可以在其上发布文件。
您可以在
/etc/containers/registries.d/default.yaml文件中检查系统范围的 registry 配置。lookaside选项引用用于签名读取的 Web 服务器。必须设置lookaside选项以验证签名。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
流程
为
<registry>更新信任范围:podman image trust set -f <path>/key.gpg <registry>/<namespace>
$ podman image trust set -f <path>/key.gpg <registry>/<namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:显示
/etc/containers/policy.json文件来验证信任策略配置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意通常,
/etc/containers.policy.json文件在使用相同的键的机构级别进行配置。例如,<registry>/<namespace>用于公共注册中心,<registry>用于只针对单一公司的专用注册中心。拉取镜像:
podman pull <registry>/<namespace>/<image>
# podman pull <registry>/<namespace>/<image> ... Storing signatures e7d92cdc71feacf90708cb59182d0df1b911f8ae022d29e8e95d75ca6a99776aCopy to Clipboard Copied! Toggle word wrap Toggle overflow podman pull命令会根据配置强制实施签名存在,不需要额外的选项。
您可以在 /etc/containers/registries.d/default.yaml 文件中编辑系统范围的注册中心配置。您还可以编辑 /etc/containers/registries.d 目录中任何 YAML 文件中的注册中心或存储库配置部分。所有 YAML 文件都是读取的,文件名可以是任意的。单个范围 (default-docker、注册中心或命名空间) 只能存在于 /etc/containers/registries.d 目录中的一个文件中。
/etc/containers/registries.d/default.yaml 文件中的系统范围 registry 配置可以访问已发布的签名。sigstore 和 sigstore-staging 选项现已弃用。这些选项引用签名存储,它们没有连接到 sigstore 签名格式。使用新的、等同的 lookaside 和 lookaside-staging 选项。