Skip to content

Instantly share code, notes, and snippets.

@gerner
Last active August 29, 2015 13:56
Show Gist options
  • Save gerner/3ed730d4b1c2846e725c to your computer and use it in GitHub Desktop.
Save gerner/3ed730d4b1c2846e725c to your computer and use it in GitHub Desktop.
Using Ohai to get aws creds using IAM instance role
require 'ohai'
o = Ohai::System.new
o.all_plugins
access_key_id = o[:ec2][:iam]["security-credentials"].first[1]["AccessKeyId"]
secret_access_key = o[:ec2][:iam]["security-credentials"].first[1]["SecretAccessKey"]
token = o[:ec2][:iam]["security-credentials"].first[1]["Token"]
require 'right_aws'
class RightAws::S3Interface < RightAws::RightAwsBase
alias_method :orig_generate_rest_request, :generate_rest_request
def generate_rest_request(method, headers)
headers = {"x-amz-security-token" => @params[:token]}.merge(headers) if @params[:token]
orig_generate_rest_request(method, headers)
end
end
s3 = RightAws::S3.new(access_key_id, secret_access_key, token: token)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment