当我尝试使用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,并且它工作得很好。
你怎么看?我错过了什么吗?谢谢!答案 0 :(得分:3)
签名版本3 https签名者中存在一个错误,该错误从请求中省略了会话令牌。今天发布了一个新版本(1.7.1)来解决这个问题。