AWS ECR GetAuthorizationToken Issue



我设置了 Jenkins 来将我的 docker 镜像部署到 Amazon ECR 存储库。
我已在 AWS 账户中为 IAM 用户启用了 2FA。我已将所有管理策略附加到我的 IAM 用户。我正在按照以下命令将我的 docker 镜像源推送到 Amazon ECR 存储库。

aws sts get-session-token --serial-number arn-of-the-mfa-device --token-code code-from-token

参考链接 : https://aws.amazon.com/premiumsupport/knowledge-center/authenticate-mfa-cli/

詹金斯代码:

export aws configure
export AWS_ACCESS_KEY_ID=AKIAJ6CAU****
export AWS_SECRET_ACCESS_KEY=TRXaGmEHN5******
export AWS_DEFAULT_REGION=eu-west-2
$(aws ecr get-login --no-include-email --region eu-west-2)
docker tag add-product:latest 06423123213.dkr.ecr.eu-west-2.amazonaws.com/add-product:$BUILD_NUMBER
docker push 06423123213.dkr.ecr.eu-west-2.amazonaws.com/add-product:$BUILD_NUMBER

我在部署到 Amazon ECR 时遇到了这个问题。

    "调用 GetSessionToken
  1. 操作时出错(访问被拒绝):无法使用会话凭据调用 GetSessionToken"

  2. "调用 GetSessionToken 操作时出错(访问被拒绝):多重身份验证失败,无法验证 MFA 代码"

参考链接 :AWS ECR GetAuthorizationToken

无论如何 ECR 令牌的到期周期很短,您可以尝试使用 ECR 凭证助手。并指出您的 docker 以利用帮助程序

{
"credHelpers": {
    "aws_account_id.dkr.ecr.region.amazonaws.com": "ecr-login"
}

}

参考: https://lwpro2.wordpress.com/2019/10/30/authenticating-amazon-ecr-repositories-for-docker-cli-with-credential-helper/

查看 AWS 生成的AWS_SECRET_ACCESS_KEY是否具有/ 。如果您有/生成一个没有的新AWS_SECRET_ACCESS_KEY并添加它将起作用。

相关内容

  • 没有找到相关文章