Skip to content

Instantly share code, notes, and snippets.

@maurostorch
Created March 24, 2023 19:54
Show Gist options
  • Save maurostorch/ab30b59dca4815e90fdbe19e35b321a5 to your computer and use it in GitHub Desktop.
Save maurostorch/ab30b59dca4815e90fdbe19e35b321a5 to your computer and use it in GitHub Desktop.
AWS CLI assume role and load environment variables. Usage: `./assume-role-load-envs.sh ROLENAME |sh`
ROLENAME=$1
ACCOUNTID=$(aws sts get-caller-identity --query "Account" --output text)
JSON=$(aws sts assume-role --role-arn arn:aws:iam::$ACCOUNTID:role/$ROLENAME --role-session-name run)
echo $JSON | jq -r '.Credentials | "export AWS_ACCESS_KEY_ID=\"\(.AccessKeyId)\""'
echo $JSON | jq -r '.Credentials | "export AWS_SECRET_ACCESS_KEY=\"\(.SecretAccessKey)\""'
echo $JSON | jq -r '.Credentials | "export AWS_SESSION_TOKEN=\"\(.SessionToken)\""'
@maurostorch
Copy link
Author

Quick unset variables: unset AWS_ACCESS_KEY_ID AWS_SESSION_TOKEN AWS_SECRET_ACCESS_KEY

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment