Assume role and export creds

Assume an IAM role and inject temp creds into the shell env in one shot

eval $(aws sts assume-role --role-arn <id> --role-session-name ops --query 'Credentials.[`AWS_ACCESS_KEY_ID=`+AccessKeyId,`AWS_SECRET_ACCESS_KEY=`+SecretAccessKey,`AWS_SESSION_TOKEN=`+SessionToken]' --output text | sed 's/^/export /')

tool
aws14 commands
tags
awssecuritysecrets

More aws commands

  • aws ec2 describe-instances --filters Name=tag:Env,Values=prod Name=instance-state-name,Values=running --query 'Reservations[].Instances[].{id:InstanceId,ip:PrivateIpAddress,az:Placement.AvailabilityZone}' --output table

    List running prod instances with id, private IP and AZ via JMESPath projection

  • aws s3 sync ./ s3://<name>/ --delete --exclude '*.tmp' --exclude '.git/*' --size-only

    Mirror dir to bucket; --delete removes stale keys. note: --size-only skips mtime checks

  • aws s3 presign s3://<name>/path/file.tgz --expires-in 3600

    Generate a time-limited download URL without making the object public

  • aws eks update-kubeconfig --name <cluster> --region <id> --alias <cluster> --kubeconfig ~/.kube/config

    Add/refresh an EKS context with a clean alias instead of the long ARN

  • aws ecr get-login-password --region <id> | docker login --username AWS --password-stdin <id>.dkr.ecr.<id>.amazonaws.com

    Auth Docker to ECR via stdin so the token never lands in shell history

all 14 aws commands