Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save netscylla/a0ede1c53d640812666e0c5ebc7b1c0b to your computer and use it in GitHub Desktop.
Save netscylla/a0ede1c53d640812666e0c5ebc7b1c0b 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