

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 签名验证
<a name="image-signing-verification"></a>

在对容器镜像进行签名后，您可以验证签名以确保镜像未被篡改且来自可信来源。Amazon ECR 支持多种验证签名的方法：

## 使用 Amazon EKS 进行托管验证
<a name="image-signing-verification-managed"></a>

Amazon EKS 为自动签名验证提供了原生集成。当您在 Amazon EKS 集群中配置签名验证时，该服务会在允许容器运行之前自动验证图像签名。有关配置签名[验证的更多信息，请参阅 *Amazon EKS 用户指南*中的部署期间验证容器映像签名](https://docs.aws.amazon.com/eks/latest/userguide/image-verification.html)。

## 适用于亚马逊 ECS 的 Lambda 准入控制器
<a name="image-signing-verification-lambda"></a>

Amazon ECS 提供服务生命周期挂钩，允许您在服务部署期间运行自定义逻辑。这些挂钩可以在部署过程中的特定时刻触发 AWS Lambda 函数，使您能够在允许服务启动之前验证容器映像签名。有关更多信息，请参阅*AWS Signer 开发人员指南*中的[验证 Amazon ECS 的容器镜像签名](https://docs.aws.amazon.com/signer/latest/developerguide/ecs-verification.html)。

## 使用记法 CLI 进行手动验证
<a name="image-signing-verification-manual"></a>

您可以使用标记 CLI 手动验证签名。此方法要求您在本地计算机或验证环境中安装和配置 Notation CLI。有关使用 Notation CLI [验证图像的详细说明，请参阅*AWS Signer 开发者指南*中的登录后在本地验证镜](https://docs.aws.amazon.com/signer/latest/developerguide/image-verification.html)像。

## 为符号客户端配置身份验证
<a name="image-signing-authentication"></a>

如果您使用手动签名或使用 Notation CLI 手动验证签名，则必须配置符号客户端，使其能够向 Amazon ECR 进行身份验证。如果您在安装 Notation 客户端的同一主机上安装了 Docker，那么 Notation 将重用您为 Docker 客户端使用的相同身份验证方法。Docker `login` 和`logout`命令将允许符号`sign`和`verify`命令使用相同的凭据，而且您不必单独对符号进行身份验证。有关配置 Notation 客户端进行身份验证的详细信息，请参阅 Notary Project 文档中的 [Authenticate with OCI-compliant registries](https://notaryproject.dev/docs/user-guides/how-to/registry-authentication/)。

如果您没有使用 Docker 或其他使用 Docker 凭证的工具，那么我们建议使用 Amazon ECR Docker 凭证助手作为您的凭证存储。有关如何安装和配置 Amazon ECR 凭证助手的更多信息，请参阅 [Amazon ECR Docker 凭证助手](https://github.com/awslabs/amazon-ecr-credential-helper)。