рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд AWS MFA рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ, рддрдерд╛ рдЙрд╕рдХреЗ рдмрд╛рдж AWS CLI рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рд╣реИред
рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдЗрд╕ рдЕрдирд┐рд╡рд╛рд░реНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдореЗрд░рд╛ рдЖрдзрд╛ рдХрд╛рд░реНрдпрджрд┐рд╡рд╕ рд▓рдЧ рдЧрдпрд╛ред рддрд╛рдХрд┐ рдореЗрд░реЗ рдЬреИрд╕реЗ рдЕрдиреНрдп рдЕрд╕реБрд░рдХреНрд╖рд┐рдд AWS рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ ЁЯШЙ рддреБрдЪреНрдЫ рдЪреАрдЬреЛрдВ рдкрд░ рдХреАрдорддреА рд╕рдордп рдмрд░реНрдмрд╛рдж рди рдХрд░реЗрдВ, рдореИрдВрдиреЗ рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢ рдПрдХ рд╕рд╛рде рд░рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдЦрд╛рддреЗ рдХреЗ рд▓рд┐рдП рднреА рд╕реЗрдЯрд┐рдВрдЧ - рдпрд╣, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рд╣реИред
рдПрдордПрдлрдП рдХреА рд╕реНрдерд╛рдкрдирд╛
- рд╕реНрдерд┐рдд
- рдХреЗ рд▓рд┐рдП рдЬрд╛рдУ
- -> MFA рдбрд┐рд╡рд╛рдЗрд╕ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ

- рд╡рд░реНрдЪреБрдЕрд▓ рдПрдордПрдлрдП рдбрд┐рд╡рд╛рдЗрд╕

- рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдХрд░реЗрдВ


- рд╡рд░реНрдЪреБрдЕрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рддреИрдпрд╛рд░ рд╣реИ

AWS CLI рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛
рдирд╛рдорд┐рдд рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕реЗрдЯ рдХрд░рдирд╛
- -> рдкрд╣реБрдБрдЪ рдХреБрдВрдЬреА рдмрдирд╛рдПрдБ

- рдХреБрдВрдЬреА рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ. рдЕрдЧрд▓реЗ рдЪрд░рдг рдореЗрдВ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
$ aws configure --profile <your profile name>
рдПрдордПрдлрдП рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд╕реАрдПрд▓рдЖрдИ
- рд╡рд░реНрдЪреБрдЕрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ 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







