我正在使用 AWS IAM 角色,该角色允许实例使用临时 API 凭证(访问密钥、秘密密钥和安全令牌)访问某些资源。
当我使用这个 ruby 脚本测试临时凭证时,它运行没有任何问题:
require 'rubygems'
require 'aws-sdk'
AWS.config(
:access_key_id => "MY ACCESS KEY GOES HERE",
:secret_access_key => "MY SECRET KEY GOES HERE",
:session_token => "MY TOKEN GOES HERE")
s3 = AWS::S3.new()
myfile = s3.buckets['My-Config'].objects["file.sh"]
File.open("/tmp/file.sh", "w") do |f|
f.write(myfile.read)
end
但是当使用命令行运行 cfn-describe-stacks 我得到一个错误:
export AWS_CREDENTIAL_FILE=aws_credentials.cfg
cfn-describe-stacks
cfn-describe-stacks: Refused: The security token included in the request is invalid
这是我的 aws_credentials.cfg :
AWSAccessKeyId=MY ACCESS KEY
AWSSecretKey=My SECRET KEY
AWSToken="MY TOKEN=="
那么我在这里缺少什么?谢谢!