Skip to content

Instantly share code, notes, and snippets.

@EvgeniGordeev
Last active September 26, 2017 16:40
Show Gist options
  • Save EvgeniGordeev/91fc6c10cd0095c5da5c0baf3fd71180 to your computer and use it in GitHub Desktop.
Save EvgeniGordeev/91fc6c10cd0095c5da5c0baf3fd71180 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
# usage: $(assume_role <role_arn>)
assume_role(){
local role=$1
local session_name=${2:-"$(date +'%Y%m%d%h%H%M%S')"}
aws sts assume-role --role-arn "$role" --role-session-name "$session_name" \
--query 'Credentials.{AWS_ACCESS_KEY_ID:AccessKeyId, AWS_SECRET_ACCESS_KEY:SecretAccessKey, AWS_SESSION_TOKEN:SessionToken}' \
| jq -r 'to_entries[]|("export "+.key+"="+.value)'
}
# switching back to default instance role
clear_credentials(){
unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment