This documentation is for a release that is no longer maintained
See documentation for the latest supported version.第 4 章 签名容器镜像
先决条件
- 访问 OpenShift Web 控制台。
- 在 OpenShift 版本 4.13 或更高版本上运行的 Red Hat Trusted Artifact Signer (RHTAS)安装。
-
安装了
ec、cosign和oc二进制文件的工作站。
流程
登录到您的 OpenShift 集群:
语法
oc login --token=TOKEN --server=SERVER_URL_AND_PORTExample
oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443注意若要查找您的命令行登录令牌和 URL,请登录 OpenShift Web 控制台。单击您的用户名,然后单击 Copy login 命令。如果出现提示,请再次输入您的用户名和密码,然后单击 Display Token。
登录 RHTAS。确保配置 RHTAS shell 环境以签署和验证容器镜像;例如:
cd sigstore-ocp source tas-env-variables.sh
cd sigstore-ocp source tas-env-variables.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您还可以选择手动设置环境变量;例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
source ./tas-env-vars.sh
$ source ./tas-env-vars.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
运行以下命令,从 OpenShift 集群注销:
oc logout。 -
找到您要签名和 attest 的容器镜像;例如:
IMAGE=quay.io/lucarval/rhtas-test@sha256:6b95efc134c2af3d45472c0a2f88e6085433df058cc210abb2bb061ac4d74359。 -
向 RHTAP 指明您要使用 Red Hat Trusted Artifact Signer 而不是公共 Sigstore 部署进行签名和测试您的容器镜像。输入这个命令:co
sign initialize --mirror=$TUF_URL --root=$TUF_URL/root.json. 使用以下命令为容器镜像签名:
cosign sign -y --fulcio-url=$FULCIO_URL --rekor-url=$REKOR_URL \ --oidc-issuer=$OIDC_ISSUER_URL $IMAGEcosign sign -y --fulcio-url=$FULCIO_URL --rekor-url=$REKOR_URL \ --oidc-issuer=$OIDC_ISSUER_URL $IMAGECopy to Clipboard Copied! Toggle word wrap Toggle overflow - 出现提示时,登录安装 RHTAS 时安装的 RHTAP 的 Keycloak 实例。因此,Keycloak 可以为您进行身份验证。
后续步骤
您的镜像现已签名。现在,您可以:
- 在测试时创建 SLSA 验证,并将它与容器镜像相关联。
- 使用 Red Hat Enterprise Contract 来验证容器镜像。
4.1. 生成签名密钥以签名和测试容器镜像 复制链接链接已复制到粘贴板!
您必须有一个签名密钥,然后才能签署并测试容器镜像。
先决条件
-
安装了
cosign二进制文件的工作站。
流程
-
在 CLI 中,运行这个命令:cosign
generate-key-pair。 - 出现提示时,为密钥对输入新密码。确保您的密码是 memorable and strong。
验证
现在,您的工作目录中应当有两个新文件:一个
cosign.pub文件和cosign.key文件。-
cosign.pub文件包含您的公钥。您可以与需要验证容器镜像的任何协作者共享此密钥。 -
cosign.key文件是用于签名内容的私钥。只有负责签名和测试镜像的人员应有权访问cosign.key文件。
-