Files
oam/snippets/aws/cli.fish

44 lines
1.2 KiB
Fish

#!/usr/bin/env fish
# List the current configuration
aws configure list
# List configured profiles
aws configure list-profiles
# Configure new profiles
aws configure --profile 'engineer'
# Assume roles
aws sts assume-role --role-arn 'arn:aws:iam::012345678901:role/ServiceRole' --role-session-name 'me-as-serviceRole'
aws --profile 'engineer' sts assume-role \
--role-arn 'arn:aws:iam::012345678901:role/ServiceRole' \
--role-session-name 'engineer-as-serviceRole' \
--duration-seconds '10800'
# Check the credentials are fine
aws sts get-caller-identity
AWS_PROFILE='engineer' aws sts get-caller-identity
# Clear cached credentials
rm -r ~'/.aws/cli/cache'
# Get temporary credentials
aws sts get-session-token
aws sts get-session-token --serial-number 'arn:aws:iam::123456789012:mfa/some-device' --token-code 'code-from-token'
# Use temporary credentials
export \
AWS_ACCESS_KEY_ID='access-key-from-get-session-output' \
AWS_SECRET_ACCESS_KEY='secret-access-key-from-get-session-output' \
AWS_SESSION_TOKEN='session-token-from-get-session-output'
# Run as Docker container
docker run --rm -ti 'amazon/aws-cli' --version
docker run --rm -ti -v "$HOME/.aws:/root/.aws:ro" 'amazon/aws-cli:2.17.16' autoscaling describe-auto-scaling-groups