AWS CLI чрез MFA

Следват инструкции за настройка на AWS MFA и след това инсталиране и конфигуриране на AWS CLI.

За съжаление тази задължителна процедура ми отне половината от работния ден. Така че други несигурни потребители на AWS 😉, като мен, не губят ценно време за тривиалното, реших да съставя инструкции.

Дори за настройка на акаунт в пясъчник МВнР Обикновено това е задължително изискване. При нас е така.

Настройка на MFA

  1. Определен съвместимо мобилно приложение
  2. Отидете на AWS конзола
  3. Моите идентификационни данни за сигурност -> Присвояване на MFA устройство
    AWS CLI чрез MFA
  4. Виртуално MFA устройство
    AWS CLI чрез MFA
  5. Следвайте инструкциите на екрана
    AWS CLI чрез MFA
    AWS CLI чрез MFA
  6. Виртуалното устройство е готово
    AWS CLI чрез MFA

Инсталиране на 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 чрез MFA
  2. Копирайте ключа в клипборда. Ще ви трябва в следващата стъпка
  3. $ aws configure --profile <your profile name>

AWS CLI чрез MFA

  1. Копирайте ARN на виртуалното устройство
    AWS CLI чрез MFA
  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

Добавяне на нов коментар