Как использовать роль IAM для доступа к ресурсам с использованием временных учетных данных?
Я использую роли 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-description-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=="
Так чего мне здесь не хватает? Спасибо!