我正在尝试通过linux aws CLI执行某些操作。我的凭证文件100%正确。
用户拥有EC2FullAccess和Amadistrative(最高级别)权限。我能够执行所有命令。
问题是以下区域产生AuthFailed错误,其余区域工作正常:
这些地区都可通过网络界面访问我的帐户,aws ec2 describe-regions
也会打印所有地区。
例如,通过指定区域中的Web界面创建实例也可以正常工作。
我用来访问aws cli的linux盒子的日期被设置为它的硬件时钟,只有时钟格式不同。硬件时钟为12,而date命令以24格式显示。
----------------------更新------------------------ ---------
正如我刚刚发现的问题是签名4。 这是问题所在:
“”SignatureVersion“:[”2“]不支持签名版本2 最初于2014年或之后投入使用的地区 目前包括ap-northeast-2和eu-central-1,以及中国。 所有地区仅支持签名版本4和更新的区域 支持V4。 http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html “
但是如何仅通过cli为我的请求使用SignatureVersion 4?
答案 0 :(得分:2)
尝试更新到最新版本的AWS CLI。您安装的AWS CLI可能无法处理v4签名。
根据文件:
对于所有AWS区域,AWS SDK默认使用签名版本4 验证请求。使用之前发布的AWS开发工具包时 2016年5月,您可能需要申请签名版本4
检查您当前的CLI版本:aws --version