使用AWS ruby​​ sdk时,获取错误“请求中包含的安全令牌无效”

时间:2012-11-06 16:18:47

标签: ruby amazon-web-services amazon-route53

当我尝试使用AWS Ruby SDK从Route53获取托管区域列表时,我收到此错误“请求中包含的安全令牌无效”,尽管我正在从实例运行我的脚本拥有“完全特权”IAM角色。 以下是完整的跟踪:

/usr/lib/ruby/gems/1.8/gems/aws-sdk-1.6.9/lib/aws/core/client.rb:318:in `return_or_raise': The security token included in the request is invalid (AWS::Route53::Errors::InvalidClientTokenId)
  from /usr/lib/ruby/gems/1.8/gems/aws-sdk-1.6.9/lib/aws/core/client.rb:419:in `client_request'
  from (eval):3:in `list_hosted_zones'
  from test.rb:7

test.rb文件:

require 'rubygems'
require 'aws-sdk'

AWS.config()

r53 = AWS::Route53.new
resp = r53.client.list_hosted_zones
resp[:hosted_zones].each do |zone|
  puts zone
end

似乎问题与Route53 sdk方法有关,因为我已经使用其他代码测试了使用相同的SDK来管理EC2和Elastic Load Balancers,并且它工作得很好。

你怎么看?我错过了什么吗?谢谢!

1 个答案:

答案 0 :(得分:3)

签名版本3 https签名者中存在一个错误,该错误从请求中省略了会话令牌。今天发布了一个新版本(1.7.1)来解决这个问题。