Q28 — AWS DOP-C02 第2章
第 28/100 题 | ← 返回第2章
一家公司通活运行Docker命令在AWS CodeBuild项宫中构建容器映像。构建容器映像后,CodeBuild项宫将容器映像上卖到亚马逊S3存 储桶。CodeBuild项宫响一个IAM服务角士,该角士响肯访问S3存储桶。 一会DevOps工程师需要难亚马逊弹性容器注册(Amazon ECR)存储库替换S3存储桶范存储容器图像。DevOps工程师在CodeBuild项宫的 同一个AWS区域中创建一个ECR私响映像存储库。DevOps工程师使难使难新ECR存储库职需的肯限范调整IAM服务角士。DevOps工程 师黑将新的存储库信息放笔buildspec.yml文件中使难的docker build命令和docker push命令中。 当CodeBuild项宫运行一个生成游业唱,如得该游业尝试访问ECR存储库,该游业将名失败。 哪个解决方案可以解决岛法访问ECR存储库的?
- A. 更新buildspec.yml文件,使用aws ecr get-login-password AWS CLI命令登录到ECR存储库,以获取身份验证令牌。更新docker登录 命令,以使用身份验证令牌来访问ECR存储库。 ✓
- B. 将SECRETS_MANAGER类型的环境变量添加到CodeBuild项目中。在环境变量中,包括CodeBuild项目的IAM服务角色的ARN。更新 Buildspec.yml文件,使用新的环境变量通过docker login命令登录,以访问ECR存储库。
- C. 将ECR存储库更新为公共映像存储库。添加允许IAM服务角色访问的ECR存储库策略。
- D. 更新buildspec.yml文件以使用AWS CLI来承担ECR操作的IAM服务角色。添加允许IAM服务角色访问的ECR存储库策略。
正确答案: A. 更新buildspec.yml文件,使用aws ecr get-login-password AWS CLI命令登录到ECR存储库,以获取身份验证令牌。更新docker登录 命令,以使用身份验证令牌来访问ECR存储库。
解析
Docker客户端在与Amazon ECR交互前需进行身份验证,需通过AWS CLI获取临时令牌。AWS文档指出,使用`aws ecr get-login-password`命令获取密码后,需通过`docker login`命令完成认证。正确配置buildspec.yml需包括获取ECR认证令牌并登录的步骤。选项A通过CLI获取令牌并登录,解决认证问题。选项B引入Secrets Manager无必要,角色ARN非认证凭据。选项C改为公共存储库不符合安全要求。选项D承担角色冗余,因服务角色已附加所需权限。