Jak używać roli IAM do uzyskiwania dostępu do zasobów przy użyciu tymczasowych poświadczeń?

Używam ról AWS IAM, które umożliwiają instancji dostęp do pewnych zasobów przy użyciu tymczasowych poświadczeń API (klucz dostępu, tajny klucz i token bezpieczeństwa).

Kiedy testuję tymczasowe poświadczenia za pomocą tego skryptu ruby, działa on bez żadnych problemów:

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

Ale gdy używam wiersza poleceń do uruchamiania cfn-description-stacks, pojawia się błąd:

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

a oto mój aws_credentials.cfg:

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

Więc czego tu brakuje? Dziękuję Ci!