āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻ¤ā§ AWS MFA āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻžāĻ° āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° AWS CLI āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻŦāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻĨāĻžāĻāĻŦā§ā§ˇ
āĻĻā§āĻ°ā§āĻāĻžāĻā§āĻ¯āĻŦāĻļāĻ¤, āĻāĻ āĻŦāĻžāĻ§ā§āĻ¯āĻ¤āĻžāĻŽā§āĻ˛āĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻāĻŽāĻžāĻ° āĻāĻžāĻā§āĻ° āĻĻāĻŋāĻ¨ā§āĻ° āĻ āĻ°ā§āĻ§ā§āĻ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ¯āĻžāĻ¤ā§ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ AWS āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ°āĻž đ, āĻāĻŽāĻžāĻ° āĻŽāĻ¤ā§, āĻ¤ā§āĻā§āĻ āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻŽā§āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻˇā§āĻ āĻ¨āĻž āĻāĻ°ā§, āĻāĻŽāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻ¸āĻāĻāĻ˛āĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋāĨ¤
āĻāĻŽāĻ¨āĻāĻŋ āĻ¸ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŦāĻā§āĻ¸ āĻ
ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻ¸ā§āĻāĻŋāĻ āĻāĻ° āĻāĻ¨ā§āĻ¯
āĻāĻŽāĻāĻĢāĻ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž āĻšāĻā§āĻā§
- āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨
āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯āĻĒā§āĻ°ā§āĻŖ āĻŽā§āĻŦāĻžāĻāĻ˛ āĻ ā§āĻ¯āĻžāĻĒ - āĻ¯āĻžāĻ
AWS āĻāĻ¨āĻ¸ā§āĻ˛ āĻāĻŽāĻžāĻ° āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ° -> āĻāĻŽāĻāĻĢāĻ āĻĄāĻŋāĻāĻžāĻāĻ¸ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°ā§āĻ¨
- āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ MFA āĻĄāĻŋāĻāĻžāĻāĻ¸
- āĻĒāĻ°ā§āĻĻāĻžāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻ
āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°ā§āĻ¨
- āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻĄāĻŋāĻāĻžāĻāĻ¸ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤
AWS CLI āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻāĻāĻāĻŋ āĻ¨āĻžāĻŽāĻ¯ā§āĻā§āĻ¤ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž āĻšāĻā§āĻā§ā§ˇ
āĻāĻŽāĻžāĻ° āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ° -> āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
- āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻ˛āĻŋāĻĒāĻŦā§āĻ°ā§āĻĄā§ āĻā§āĻāĻŋ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°ā§āĻ¨āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ§āĻžāĻĒā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻŦā§
$ aws configure --profile <your profile name>
MFA āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ AWS CLI
- āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻĄāĻŋāĻāĻžāĻāĻ¸ ARN āĻāĻĒāĻŋ āĻāĻ°ā§āĻ¨
aws sts get-session-token --profile <иĐŧŅ ĐŋŅĐžŅиĐģŅ> --serial-number <ARN виŅŅŅĐ°ĐģŅĐŊĐžĐŗĐž ŅŅŅŅОКŅŅва> --token-code <ОдĐŊĐžŅаСОвŅĐš ĐŋĐ°ŅĐžĐģŅ>
āĻāĻā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻŽā§āĻŦāĻžāĻāĻ˛ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĨā§āĻā§ āĻāĻ¯āĻŧāĻžāĻ¨-āĻāĻžāĻāĻŽ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¨āĻŋāĻ¤ā§ āĻšāĻŦā§āĨ¤- āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ JSON āĻāĻāĻāĻĒā§āĻ āĻāĻ°āĻŦā§, āĻ¯āĻžāĻ° āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋāĻā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻĒāĻ°āĻŋāĻŦā§āĻļā§āĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN-āĻ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§
āĻāĻŽāĻŋ āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻā§ ~/.bash_profile
JSON āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻ¤ā§, āĻāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨
#!/usr/bin/env bash
aws_login() {
session=$(aws sts get-session-token "$@")
echo "${session}"
AWS_ACCESS_KEY_ID=$(echo "${session}" | jq -r '.Credentials.AccessKeyId')
export AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY=$(echo "${session}" | jq -r '.Credentials.SecretAccessKey')
export AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN=$(echo "${session}" | jq -r '.Credentials.SessionToken')
export AWS_SESSION_TOKEN
}
alias aws-login-dev='aws_login --profile <иĐŧŅ dev ĐŋŅĐžŅиĐģŅ> --serial-number <ARN виŅŅŅĐ°ĐģŅĐŊĐžĐŗĐž ŅŅŅŅОКŅŅва> --token-code '
alias aws-login-prod='aws_login --profile <иĐŧŅ prod ĐŋŅĐžŅиĐģŅ> --serial-number <ARN виŅŅŅĐ°ĐģŅĐŊĐžĐŗĐž ŅŅŅŅОКŅŅва> --token-code '
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨:
$ aws-login-dev <ОдĐŊĐžŅаСОвŅĐš ĐŋĐ°ŅĐžĐģŅ>
āĻāĻŽāĻŋ āĻāĻļāĻž āĻāĻ°āĻŋ āĻāĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĻā§āĻ°ā§āĻ āĻŦāĻŋāĻāĻ°āĻŖ āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻŦā§ đ
āĻāĻ¤ā§āĻ¸: www.habr.com