AWS CLI แƒกแƒแƒ’แƒแƒ แƒ”แƒ แƒกแƒแƒฅแƒ›แƒ”แƒ—แƒ แƒกแƒแƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ AWS MFA-แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜ AWS CLI-แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ แƒ“แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ.

แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒแƒ› แƒกแƒแƒ•แƒแƒšแƒ“แƒ”แƒ‘แƒฃแƒšแƒ แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒแƒ› แƒฉแƒ”แƒ›แƒ˜ แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒ“แƒฆแƒ˜แƒก แƒœแƒแƒฎแƒ”แƒ•แƒแƒ แƒ˜ แƒ“แƒแƒ›แƒญแƒ˜แƒ แƒ“แƒ. แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒกแƒฎแƒ•แƒ แƒ“แƒแƒฃแƒชแƒ•แƒ”แƒšแƒ›แƒ AWS แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ›แƒ ๐Ÿ˜‰, แƒ˜แƒกแƒ”แƒ•แƒ” แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ”, แƒแƒ  แƒ“แƒแƒ™แƒแƒ แƒ’แƒแƒœ แƒซแƒ•แƒ˜แƒ แƒคแƒแƒกแƒ˜ แƒ“แƒ แƒ แƒขแƒ แƒ˜แƒ•แƒ˜แƒแƒšแƒฃแƒ แƒ–แƒ”, แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ” แƒจแƒ”แƒ›แƒ”แƒ“แƒ’แƒ˜แƒœแƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜.

แƒ—แƒฃแƒœแƒ“แƒแƒช sandbox แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒ’แƒแƒ แƒ”แƒ แƒฃแƒฌแƒงแƒ”แƒ‘แƒ แƒ”แƒก แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ• แƒกแƒแƒ•แƒแƒšแƒ“แƒ”แƒ‘แƒฃแƒšแƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒ. แƒฉแƒ•แƒ”แƒœแƒ—แƒแƒœ แƒแƒกแƒ”แƒ.

แƒกแƒแƒ’แƒแƒ แƒ”แƒ แƒกแƒแƒฅแƒ›แƒ”แƒ—แƒ แƒกแƒแƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ

  1. แƒฃแƒชแƒœแƒแƒ‘แƒ˜แƒ แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“แƒ˜ แƒ›แƒแƒ‘แƒ˜แƒšแƒฃแƒ แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ
  2. แฒฌแƒแƒ“แƒ˜ AWS แƒ™แƒแƒœแƒกแƒแƒšแƒ˜
  3. แƒฉแƒ”แƒ›แƒ˜ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ—แƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒ”แƒ‘แƒ˜ -> MFA แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒญแƒ”แƒ‘แƒ
    AWS CLI แƒกแƒแƒ’แƒแƒ แƒ”แƒ แƒกแƒแƒฅแƒ›แƒ”แƒ—แƒ แƒกแƒแƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—
  4. แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ MFA แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ
    AWS CLI แƒกแƒแƒ’แƒแƒ แƒ”แƒ แƒกแƒแƒฅแƒ›แƒ”แƒ—แƒ แƒกแƒแƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—
  5. แƒ›แƒ˜แƒฐแƒงแƒ”แƒ•แƒ˜แƒ— แƒ”แƒ™แƒ แƒแƒœแƒ–แƒ” แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ”แƒ‘แƒก
    AWS CLI แƒกแƒแƒ’แƒแƒ แƒ”แƒ แƒกแƒแƒฅแƒ›แƒ”แƒ—แƒ แƒกแƒแƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—
    AWS CLI แƒกแƒแƒ’แƒแƒ แƒ”แƒ แƒกแƒแƒฅแƒ›แƒ”แƒ—แƒ แƒกแƒแƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—
  6. แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ แƒ›แƒ–แƒแƒ“ แƒแƒ แƒ˜แƒก
    AWS CLI แƒกแƒแƒ’แƒแƒ แƒ”แƒ แƒกแƒแƒฅแƒ›แƒ”แƒ—แƒ แƒกแƒแƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—

AWS CLI-แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ

https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html

แƒ“แƒแƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒคแƒ˜แƒšแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ

https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html

  1. แƒฉแƒ”แƒ›แƒ˜ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ—แƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒ”แƒ‘แƒ˜ -> แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ
    AWS CLI แƒกแƒแƒ’แƒแƒ แƒ”แƒ แƒกแƒแƒฅแƒ›แƒ”แƒ—แƒ แƒกแƒแƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—
  2. แƒ“แƒแƒแƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ— แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒ‘แƒฃแƒคแƒ”แƒ แƒจแƒ˜. แƒ”แƒก แƒ“แƒแƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ”แƒขแƒแƒžแƒ–แƒ”
  3. $ aws configure --profile <your profile name>

AWS CLI แƒกแƒแƒ’แƒแƒ แƒ”แƒ แƒกแƒแƒฅแƒ›แƒ”แƒ—แƒ แƒกแƒแƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—

  1. แƒ“แƒแƒแƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ— แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ ARN
    AWS CLI แƒกแƒแƒ’แƒแƒ แƒ”แƒ แƒกแƒแƒฅแƒ›แƒ”แƒ—แƒ แƒกแƒแƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—
  2. aws sts get-session-token --profile <ะธะผั ะฟั€ะพั„ะธะปั> --serial-number <ARN ะฒะธั€ั‚ัƒะฐะปัŒะฝะพะณะพ ัƒัั‚ั€ะพะนัั‚ะฒะฐ> --token-code <ะพะดะฝะพั€ะฐะทะพะฒั‹ะน ะฟะฐั€ะพะปัŒ>
    แƒ”แƒ แƒ—แƒฏแƒ”แƒ แƒแƒ“แƒ˜ แƒžแƒแƒ แƒแƒšแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒ“แƒ แƒ” แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒ‘แƒ˜แƒšแƒฃแƒ แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒ“แƒแƒœ.
  3. แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒกแƒชแƒ”แƒ›แƒก JSON, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒชแƒแƒšแƒ™แƒ”แƒฃแƒšแƒ˜ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒแƒก แƒ’แƒแƒ แƒ”แƒ›แƒแƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒก แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒจแƒ˜ AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

แƒ›แƒ” แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ” แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒ˜แƒ–แƒ˜แƒ แƒ”แƒ‘แƒ ~/.bash_profile
JSON-แƒ˜แƒก แƒ’แƒแƒกแƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒ”แƒ‘แƒšแƒแƒ“, แƒ”แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก jq.

#!/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

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ