Wie verwende ich die IAM-Rolle, um mit temporären Anmeldeinformationen auf Ressourcen zuzugreifen?

Ich verwende AWS IAM-Rollen, mit denen eine Instanz mithilfe temporärer API-Anmeldeinformationen (Zugriffsschlüssel, geheimer Schlüssel und Sicherheitstoken) auf bestimmte Ressourcen zugreifen kann.

Wenn ich die temporären Anmeldeinformationen mit diesem Ruby-Skript teste, wird es problemlos ausgeführt:

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

Bei Verwendung der Befehlszeile zum Ausführen von cfn-describe-stacks erhalte ich jedoch eine Fehlermeldung:

export AWS_CREDENTIAL_FILE=aws_credentials.cfg
cfn-describe-stacks
cfn-describe-stacks:  Refused: The security token included in the request is invalid

und hier ist meine aws_credentials.cfg:

AWSAccessKeyId=MY ACCESS KEY
AWSSecretKey=My SECRET KEY
AWSToken="MY TOKEN=="

Also, was fehle ich hier? Vielen Dank!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage