Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ramnamy/cbbb6a24598e4702ceda3f121f3d9ce5 to your computer and use it in GitHub Desktop.
Save ramnamy/cbbb6a24598e4702ceda3f121f3d9ce5 to your computer and use it in GitHub Desktop.
Shell script to extract Temporary AWS keys (Access Key Id and Secret Access Key) from Role Based EC2 instance using 169.254.169.254 and dynamic role names
#!/bin/sh
ROLENAME=$(curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ -s)
KeyURL="http://169.254.169.254/latest/meta-data/iam/security-credentials/"$ROLENAME"/"
wget $KeyURL -q -O Iam.json
KEYID=$(grep -Po '.*"AccessKeyId".*' Iam.json | sed 's/ //g' | sed 's/"//g' | sed 's/,//g' | sed 's/AccessKeyId://g')
SECRETKEY=$(grep -Po '.*"SecretAccessKey".*' Iam.json | sed 's/ //g' | sed 's/"//g' | sed 's/,//g' | sed 's/SecretAccessKey://g')
SECURITYTOKEN=$(grep -Po '.*"Token".*' Iam.json | sed 's/ //g' | sed 's/"//g' | sed 's/,//g' | sed 's/Token://g')
rm Iam.json -f
echo $KEYID
echo $SECRETKEY
echo $SECURITYTOKEN
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment