AWS无法验证提供的访问凭据。 AuthFailed仅在SPECIFIC区域

时间:2017-05-30 16:33:17

标签: amazon-web-services aws-cli

我正在尝试通过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?

1 个答案:

答案 0 :(得分:2)

尝试更新到最新版本的AWS CLI。您安装的AWS CLI可能无法处理v4签名。

根据文件:

  

对于所有AWS区域,AWS SDK默认使用签名版本4   验证请求。使用之前发布的AWS开发工具包时   2016年5月,您可能需要申请签名版本4

检查您当前的CLI版本:aws --version