作业的私有注册表身份验证 - AWS Batch

作业的私有注册表身份验证

通过使用 AWS Secrets Manager 对作业进行私有注册表身份验证,您可以在作业定义中安全地存储并随后引用您的凭证。这提供了一种方法来引用存在于 AWS 以外的私有注册表中的容器镜像,这需要在作业定义中进行身份验证。此功能仅受 Amazon EC2 实例和 Fargate 上托管的作业支持。

重要

如果您的作业定义引用了存储在 Amazon ECR 中的映像,则此主题不适用。有关更多信息,请参阅 Amazon Elastic Container Registry 用户指南中的使用 Amazon ECR 和 Amazon ECS

对于 Amazon EC2 实例上托管的作业,此功能要求您具有版本 1.19.0 或更高版本的容器代理。但是,我们建议使用最新的容器代理版本。有关如何检查您的代理版本和更新到最新版本的信息,请参阅《Amazon Elastic Container Service 开发人员指南》中的 更新 Amazon ECS 容器代理

对于 Fargate 上托管的作业,此功能需要平台版本 1.2.0 或更高版本。有关信息,请参阅《Amazon Elastic Container Service 开发人员指南》中的 AWS Fargate Linux 平台版本

在容器定义中,使用您创建的密钥的详细信息指定 repositoryCredentials 对象。您引用的密钥可以来自与使用此密钥的作业不同的 AWS 区域 或不同的账户。

注意

使用 AWS Batch API、AWS CLI 或 AWS SDK 时,如果密钥存在于要启动的作业所在的 AWS 区域,可以使用密钥的完整 ARN 或名称。如果密钥存在于另一个账户中,则必须指定密钥的完整 ARN。使用 AWS 管理控制台 时,必须始终指定密钥的完整 ARN。

下面是显示必需参数的作业定义代码段:

"containerProperties": [ { "image": "private-repo/private-image", "repositoryCredentials": { "credentialsParameter": "arn:aws:secretsmanager:region:123456789012:secret:secret_name" } } ]