cut*_*ade 9 command-line-interface amazon-web-services aws-cli alpine-linux
当我拉出一个干净的 Alphine Linux Docker 镜像时,安装aws-cli在它上面并尝试验证我自己,aws ecr get-authorization-token --region eu-central-1我不断收到以下错误:
调用 GetAuthorizationToken 操作时发生错误 ( UnrecognizedClientException ):请求中包含的安全令牌 无效。
我已经检查了似乎没问题的时区,并且该命令在我的本地机器上正常工作。
这些是我运行来设置的命令aws-cli:
apk add --update python python-dev py-pip
pip install awscli --upgrade
export AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXX
export AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
有什么明显的我遗漏了吗?
jon*_*ris 12
就我而言,我的~/.aws/credentials文件有一个旧文件aws_session_token,未通过aws configureCLI 命令更新。一旦我打开文件并vi ~/.aws/credentials删除了该aws_session_token条目,我就不再遇到UnrecognizedClientException. 我猜测 AWS CLI在运行 AWS CLI 命令时首先优先考虑 和 ,如果aws_session_token文件aws access key id中存在的话。aws secret access keyaws_session_token~/.aws/credentials
毕竟这是一个访问问题!事实证明,如果您创建一个具有完全管理员访问权限的新 IAM 用户,它默认无法访问您使用其他帐户创建的 ECR 注册表。使用来自该其他账户的 IAM 凭证解决了该问题。
小智 7
在获得 权限之前,您无权访问这些资源aws-cli,为此您可以使用以下步骤。
登录您的 AWS 账户,单击您的账户名称,选择我的安全凭证,单击访问密钥并下载凭证
PowerShell以管理员身份打开并按照命令进行操作。
$ aws configure
$ AWS Access Key ID [****************E5TA]=xxxxxxxxxx
$ AWS Secret Access Key [****************7gNT]=xxxxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17096 次 |
| 最近记录: |