Skip to content

Instantly share code, notes, and snippets.

@mcalavera81
Created December 17, 2019 13:52
Show Gist options
  • Save mcalavera81/79292b10419ed8fea33b22db3b711bef to your computer and use it in GitHub Desktop.
Save mcalavera81/79292b10419ed8fea33b22db3b711bef to your computer and use it in GitHub Desktop.
# aws_secret_access_key = YYYYYYYYYYYYYYYYYYYYYYYY
#
# where <USER NAME> is your username as above
#
#
# Requirements:
# ************
# aws cli must be installed.
#
set -e
PROFILE=<Profile>
ROLEARN="<ROLEARN>"
IAMUSER=""
MFAARN="<MFAARN>"
NAME=default
MFACODE=$1
REGION=us-east-1
# KST=access*K*ey, *S*ecretkey, session*T*oken
KST=(`aws sts assume-role --role-arn "$ROLEARN" \
--region "$REGION" \
--profile "$NAME" \
--role-session-name "$NAME" \
--serial-number "$MFAARN" \
--token-code $MFACODE \
--query "[Credentials.AccessKeyId,Credentials.SecretAccessKey,Credentials.SessionToken]" \
--output text`)
aws_access_key_id="${KST[0]}"
aws_secret_access_key="${KST[1]}"
aws_session_token="${KST[2]}"
#`aws configure set profile.default.region eu-west-1`
#`aws configure set profile.default.aws_access_key_id $aws_access_key_id`
#`aws configure set profile.default.aws_secret_access_key $aws_secret_access_key`
#`aws configure set profile.default.aws_session_token $aws_session_token`
`aws configure set profile.$PROFILE.region $REGION`
`aws configure set profile.$PROFILE.aws_access_key_id $aws_access_key_id`
`aws configure set profile.$PROFILE.aws_secret_access_key $aws_secret_access_key`
`aws configure set profile.$PROFILE.aws_session_token $aws_session_token`
echo "ACCESS KEY $aws_access_key_id"
echo "SECRET KEY $aws_secret_access_key"
echo "SESSION TOKEN $aws_session_token"
echo ""
echo "default and $PROFILE profile updated with MFA-protected temporary credentials"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment