AWS CLI - отличный инструмент для выполнения всего, что связано с AWS. Мы можем настроить наш ключ доступа для учетной записи, используя идентификатор ключа доступа и секретный ключ доступа. Но что, если мы хотим использовать несколько учетных записей на одном компьютере? Если мы работаем над несколькими проектами AWS или используем разные роли IAM для разных проектов?

Прежде чем настраивать несколько учетных записей, давайте сделаем это для одной учетной записи.

Создание профиля AWS

Для аутентификации нам необходимо создать профиль AWS, который будет использоваться для всех будущих сеансов. Ключи доступа используются для подписи наших запросов, которые отправляются в AWS с помощью нашей программы. Сначала мы создадим профиль в консоли AWS. А затем загрузите его в формате .csv. (Если он потерян, его нельзя будет восстановить, и необходимо снова создать нового пользователя с разрешениями).

Если мы планируем использовать только один профиль пользователя для взаимодействия с AWS, мы можем использовать команду:

$ aws configure
AWS Access Key ID [None]: <Enter Access Key>
AWS Secret Access Key [None]: <Enter Secret Access Key>
Default region name [None]: <Enter Region>
Default output format [None]: json

Это создаст два файла в каталоге ~ / .aws (или% USERPROFILE% .aws / в Windows). Один будет учетными данными, а другой - конфигурацией.

# ~/.aws/credentials
[default]
aws_access_key_id=<Your Access Key>
aws_secret_access_key=<Your Secret Access Key>

# ~/.aws/config
[default]
region=<Your Region>
output=json

Именованный профиль AWS

AWS CLI позволяет нам настраивать именованные профили (что поможет нам создать несколько учетных записей). Именованный профиль - это просто профиль с прикрепленным к нему именем. Для создания именованного профиля мы используем:

$ aws configure --profile <profile name>

Допустим, мы создали профиль в AWS CLI, используя имя dev. Соответствующие обновления файлов конфигурации будут следующими:

# ~/.aws/credentials
[default]
aws_access_key_id=<Your Access Key>
aws_secret_access_key=<Your Secret Access Key>

[dev]
aws_access_key_id=<Dev Access Key>
aws_secret_access_key=<Dev Secret Access Key>

# ~/.aws/config
[default]
region=<Your Region>
output=json

[profile dev]
region=<Dev Region>
output=json

Настройка нескольких учетных записей в AWS CLI

Поскольку мы можем создать несколько профилей, мы можем просто использовать именованные профили для создания нескольких учетных записей. Мы можем создать столько профилей для любого количества пользователей, сколько захотим. И интерфейс командной строки AWS ищет учетные данные в следующем порядке:

  • Параметры интерфейса командной строки AWS: аргументы командной строки, переданные при вызове интерфейса командной строки.
  • Переменные среды: AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY экспортированы как переменные среды.
  • Файл учетных данных AWS: файл, который мы только что обсудили.

И файл учетных данных также может иметь несколько профилей. Нам нужно будет добавить флаг «-profile» во время выполнения команды в интерфейсе командной строки AWS, если мы хотим использовать файл учетных данных.

Каждый раз указывать профиль в качестве аргумента интерфейса командной строки может оказаться утомительной задачей. Следовательно, предпочтительнее использовать переменную среды. Мы даже можем экспортировать профиль в переменную среды, используя:

export AWS_PROFILE=dev

Профиль AWS для разработчиков будет использоваться для всех последующих команд без необходимости его явно указывать.

Вывод

На этом мы завершаем краткую настройку нескольких учетных записей с помощью интерфейса командной строки AWS. Если у вас есть какие-либо комментарии, оставьте комментарий ниже.

Первоначально опубликовано на https://www.wisdomgeek.com 20 февраля 2021 г.