6.6. 配置客户端以验证签名
为确保从远程 registry 拉取的容器镜像被正确签名,您必须首先在策略文件中使用正确的公钥配置镜像。
先决条件
- 客户端必须配置 sudo 权限才能验证签名。
流程
打开终端并使用以下命令:
> sudo <name of editor> /etc/containers/policy.json
> sudo <name of editor> /etc/containers/policy.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 显示的文件类似如下:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此文件显示
quay.io或docker.io都不执行验证,因为类型是insecureAcceptAnything,它会覆盖默认的reject类型。但是<server-address>将执行验证,因为参数type被设置为"signedBy"。注意目前唯一支持的
keyType是 GPG 密钥。在
<server-address>条目下,修改keyPath<1> 使其包含您的密钥文件的名称。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存并关闭该文件。
- 使用 podman 或您选择的客户端拉取文件:
> podman pull <server-address>/<container-name>:<tag name> --tls-verify=false
> podman pull <server-address>/<container-name>:<tag name> --tls-verify=false
此响应验证镜像是否已签名,且无错误。如果镜像没有签名,命令会失败。
其他资源
- 如需有关 policy.json 的更多信息,请参阅 containers-policy.json 的文档。