ะะฐะปะตะต ะฟะพัะปะตะดัะตั ะธะฝััััะบัะธั ะฟะพ ะฝะฐัััะพะนะบะต AWS MFA, ะธ ะฟะพัะปะตะดััะตะน ัััะฐะฝะพะฒะบะต ะธ ะฝะฐัััะพะนะบะต AWS CLI.
ะ ัะพะถะฐะปะตะฝะธั, ั ะผะตะฝั ะฝะฐ ััั ะพะฑัะทะฐัะตะปัะฝัั ะฟัะพัะตะดััั ััะปะฐ ะฟะพะปะพะฒะธะฝะฐ ัะฐะฑะพัะตะณะพ ะดะฝั. ะงัะพะฑั ะดััะณะธะผ ะฝะตัะฒะตัะตะฝะฝัะผ ะฟะพะปัะทะพะฒะฐัะตะปัะผ AWS ๐ ะบะฐะบ ะธ ั ัะฐะผ, ะฝะต ััะฐัะธัั ะดัะฐะณะพัะตะฝะฝะพะต ะฒัะตะผั ะฝะฐ ะฑะฐะฝะฐะปัะฝะพะต, ัะตัะธะป ัะพััะฐะฒะธัั ะธะฝััััะบัะธั.
ะะฐะถะต ะดะปั sandbox ะฐะบะบะฐัะฝัะฐ ะฝะฐัััะพะนะบะฐ
ะะฐัััะพะนะบะฐ MFA
- เบเบฑเปเบ
ัะพะฒะผะตััะธะผะพะต ะผะพะฑะธะปัะฝะพะต ะฟัะธะปะพะถะตะฝะธะต - เปเบเบซเบฒ
AWS ะบะพะฝัะพะปั My Security Credentials -> Assign MFA Device
- Virtual MFA Device
- เบเบฐเบเบดเบเบฑเบเบเบฒเบกเบเปเบฒเปเบเบฐเบเปเบฒเปเบเบซเบเปเบฒเบเป
- ะะธัััะฐะปัะฝะพะต ััััะพะนััะฒะพ ะณะพัะพะฒะพ
ะฃััะฐะฝะพะฒะบะฐ AWS CLI
ะะฐัััะพะนะบะฐ ะธะผะตะฝะพะฒะฐะฝะฝะพะณะพ ะฟัะพัะธะปั
My Security Credentials -> Create access key
- ะกะบะพะฟะธััะนัะต ะบะปัั ะฒ ะฑััะตั ะพะฑะผะตะฝะฐ. ะะฝ ะฟะพะฝะฐะดะพะฑะธััั ะฝะฐ ัะปะตะดัััะตะผ ัะฐะณะต
$ aws configure --profile <your profile name>
AWS CLI เบเปเบฒเบ MFA
- ะกะบะพะฟะธััะนัะต 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