diskusi.tech (beta) Community

loading...

Keamanan Lebih dengan MFA di AWS CLI

mufid profile image Mufid Originally published at mufid.github.io Updated on ・1 min read

MFA (multi-factor authentication) menawarkan mekanisme login yang lebih aman. Pada AWS, kita bisa memaksa setiap pengguna agar menghidupkan MFA. Setiap kali kita login, kita akan ditanya token untuk MFA. MFA yang cukup lazim adalah menggunakan TOTP seperti Google Authenticator atau Authy.

Pada kasus kali ini, saya mengasumsikan setiap akun IAM memiliki akses yang terbatas (hanya read). Jika akun pengguna tersebut mau melakukan akses tulis, mereka harus melakukan Switch Role. Saya juga mengasumsikan komputer Anda terpasang jq untuk pemrosesan JSON dari AWS CLI.

Berikut adalah script yang bisa digunakan untuk switch role melalui MFA

# Ganti ini ke ARN perangkat Anda
export DEVICE_ARN="arn:aws:iam::054121719833:mfa/mufid"

read -p "Enter token from MFA(from $DEVICE_ARN): " TOKEN
RESULT=$(aws sts get-session-token --serial-number $DEVICE_ARN --token-code $TOKEN)
export AWS_SECRET_ACCESS_KEY=$(echo "$RESULT" | yq -r '.Credentials.SecretAccessKey')
export AWS_SESSION_TOKEN=$(echo "$RESULT" | yq -r '.Credentials.SessionToken')
export AWS_ACCESS_KEY_ID=$(echo "$RESULT" | yq -r '.Credentials.AccessKeyId')

echo "SecretAccessKey = $AWS_SECRET_ACCESS_KEY"
echo "SessionToken = $AWS_SESSION_TOKEN"
echo "AccessKeyId = $AWS_ACCESS_KEY_ID"

aws configure set profile.mfa.aws_secret_access_key "$AWS_SECRET_ACCESS_KEY"
aws configure set profile.mfa.aws_access_key_id "$AWS_ACCESS_KEY_ID"
aws configure set profile.mfa.aws_session_token "$AWS_SESSION_TOKEN"

echo "Selesai! Lakukan perintah ini untuk mengakses role baru"
echo
echo "         export AWS_PROFILE=secureadmin"
echo
Enter fullscreen mode Exit fullscreen mode

Disadur dari Mufid's Tech Blog

Discussion

pic
Editor guide