为了确保为生产系统发布并下载的所有运行时容器映像的完整性,我们现为使用 Docker Hub 的所有 Apigee Hybrid 映像提供映像签名支持。所有 Hybrid 运行时映像都可从 Google Docker Hub 账号公开下载。
Hybrid 映像可使用 Docker Content Trust 进行签名,该功能让用户可验证 Docker 注册表中构建和运行的每个映像的完整性和发布商。这些签名允许针对发布商密钥对特定映像标记进行客户端或运行时验证,从而确保映像与发布商为发布创建和发布的内容完全一致。
下载已签名的容器映像
如果您使用没有互联网访问权限的 Kubernetes 集群来部署 Hybrid 运行时服务,则需要将容器映像下载到本地容器注册表,然后从 Kubernetes 集群访问注册表。
如需下载已签名的容器映像,您应该安装 Docker 并使用 docker pull
命令,如下所示。确保在每个映像名称上附加正确的标记。例如,apigee-synchronizer
的标记是 1.1.1
,如下所示。
docker pull google/apigee-mart-server:1.1.1
docker pull google/apigee-synchronizer:1.1.1
docker pull google/apigee-runtime:1.1.1
docker pull google/apigee-authn-authz:1.1.1
docker pull google/apigee-cassandra-client:1.1.1
docker pull google/apigee-cassandra-backup-utility:1.1.1
docker pull google/apigee-cassandra:1.1.1
docker pull google/apigee-udca:1.1.1
docker pull google/apigee-stackdriver-logging-agent:1.6.8
docker pull google/apigee-prom-prometheus:v2.9.2
docker pull google/apigee-stackdriver-prometheus-sidecar:release-0.4.0
docker pull google/busybox:1.30.1
验证容器映像签名者和签名
如需验证映像是否已签名,请运行以下命令:
docker trust inspect --pretty $IMAGE_NAME:$IMAGE_TAG
通过此命令的输出,您可以了解是否已标记映像是否已签名、签名者的名称,以及签名者和密钥的列表。例如:
docker trust inspect --pretty google/apigee-mart-server:1.1.1
Signatures for google/apigee-mart-server:1.1.1 SIGNED TAG DIGEST SIGNERSbeta2 a607b0e7acba41544e5db8e74b039e9314fdcfdc6f1acf73094d3179fc2af322 asf-admin List of signers and their keys for google/apigee-mart-server:1.1.1 SIGNER KEYSasf-admin 7d4abdbb7bfd Administrative keys for google/apigee-mart-server:1.1.1 Repository Key: 80f86b047965f6dec0c056b1938a7f8cfb894ba8014fba36a18d0923173d394a Root Key: 6f2d60f90a0d78dd6254d3d47613a4dd6eb0880f83411e6f8b122b84dbef69ca