Skip to content

Instantly share code, notes, and snippets.

@tbell83
Last active December 19, 2018 16:11
Show Gist options
  • Select an option

  • Save tbell83/73e38064548d97acb7e3c8c9c39072d3 to your computer and use it in GitHub Desktop.

Select an option

Save tbell83/73e38064548d97acb7e3c8c9c39072d3 to your computer and use it in GitHub Desktop.
#!/bin/bash
set -e
unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN AWS_SECURITY_TOKEN AWS_ACCESS_KEY AWS_SECRET_KEY AWS_DELEGATION_TOKEN
ROLE="${1:-$PROPERTY_CODE-$ENVIRONMENT-jcron}"
ACCOUNT="${2:-$ACCOUNT_ID}"
NAME="${3:-$(echo ${JOB_NAME} | sed 's/ /_/g')-${BUILD_NUMBER}}"
DURATION="${4:-900}"
KST="$(aws sts assume-role --role-arn "arn:aws:iam::${ACCOUNT}:role/$ROLE" \
--role-session-name "$NAME" \
--duration-seconds "$DURATION" \
--query '[Credentials.AccessKeyId,Credentials.SecretAccessKey,Credentials.SessionToken]' \
--output text)"
set -f; IFS='\t'
set -- $KST
ACCESS_KEY_ID=$1; SECRET_ACCESS_KEY=$2; SESSION_TOKEN=$3
set +f; unset IFS
export AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION:-us-east-1}
export AWS_ACCESS_KEY_ID=${ACCESS_KEY_ID}
export AWS_ACCESS_KEY=${ACCESS_KEY_ID}
export AWS_SECRET_ACCESS_KEY=${SECRET_ACCESS_KEY}
export AWS_SECRET_KEY=${SECRET_ACCESS_KEY}
export AWS_SESSION_TOKEN=${SESSION_TOKEN}
export AWS_SECURITY_TOKEN=${SESSION_TOKEN}
export AWS_DELEGATION_TOKEN=${SESSION_TOKEN}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment