Гид по технологиям

Установка и настройка AWS CLI на Python

• 5 min read • DevOps • Обновлено 29 Nov 2025
Установка и настройка AWS CLI на Python
Установка и настройка AWS CLI на Python

Логотип AWS CLI или иллюстрация установки инструментов

Быстрые ссылки

  • Установить Python и pip
  • Установить AWS CLI через pip
  • Настроить AWS CLI с IAM-пользователем
  • Связать CLI с аккаунтом

AWS предоставляет CLI с доступом ко всем сервисам. Его удобно использовать на локальной машине для администрирования и на удалённых серверах для автоматизации задач.

Установите Python и pip

AWS CLI работает на Python, поэтому сначала убедитесь, что установлен Python и менеджер пакетов pip. Поддерживаются Python 3.x — рекомендуется использовать последнюю стабильную ветку Python 3.

Проверка установленной версии Python:

python3 --version

Если Python не установлен, установите его через менеджер пакетов вашей ОС. Пример для Debian/Ubuntu:

sudo apt install python3.7

На macOS Python 3 удобно устанавливать через brew:

brew install python

pip часто устанавливается вместе с Python. Если pip отсутствует, скачайте установочный скрипт:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

И запустите его через Python 3:

python3 get-pip.py

Важно: используйте pip3, когда работаете с Python 3, чтобы пакеты ставились в правильную версию интерпретатора.

Установите AWS CLI через pip

После установки Python установите AWS CLI через pip3:

pip3 install awscli --upgrade --user

Проверьте установку:

aws --version

Если команда не найдена, возможно, нужно добавить папку с исполняемыми файлами Python в PATH. Пример проверки пути до python3:

ls -al $(which python3)

Примечание: AWS также распространяет отдельные установщики для AWS CLI v2 (бинарные инсталляторы для Windows/macOS/Linux). Для некоторых сценариев (например, автообновление или интеграция с OS-пакетами) такой инсталлятор удобнее, чем pip.

Настройка AWS CLI с IAM-пользователем

IAM-пользователи — предпочтительный способ выдачи доступа к AWS. Не используйте ключи root-аккаунта на серверах или в автоматизации. Создайте отдельного пользователя с минимально необходимыми правами.

Перейдите в IAM Management Console и на вкладке Users создайте нового пользователя для CLI:

В консоли управления IAM нажмите вкладку «Users», чтобы добавить нового пользователя.

Дайте имя и выберите тип доступа “Programmatic Access”, чтобы получить Access Key ID и Secret Access Key:

Дайте пользователю имя и установите тип доступа «Programmatic Access».

Для управления правами удобнее создать группу и назначать в неё политики. Для локальной работы администратора можно временно дать политику AdministratorAccess, но в продуктиве применяйте принцип наименьших привилегий:

Создайте группу Administrator и добавьте политику AdministratorAccess.

Если вы настраиваете удалённый сервер или CI, вручную назначайте только те права, которые нужны программе (например, права на S3 put/get для загрузки объектов).

Добавьте теги по желанию и создайте пользователя. Отобразятся Access Key ID и Secret Access Key — скачайте CSV и/или сохраните их в безопасном месте:

ID ключа доступа и секретный ключ доступа.

Важно: сохраните секретный ключ сразу — он больше не будет показан в консоли.

Свяжите CLI с аккаунтом

В терминале выполните:

aws configure

Команда запросит:

  • Access Key ID
  • Secret Access Key
  • Default region name (например, us-east-2)
  • Default output format (json)

Регион указывайте в формате кода региона (без номера зоны доступности). Пример корректного значения: us-east-2. Указание неверного региона приведёт к ошибкам, но вы всегда можете повторно выполнить aws configure.

Проверка соединения и прав:

aws ec2 describe-instances

Эта команда должна вывести JSON с информацией об инстансах. Для проверки, от чьего имени выполняются команды:

aws sts get-caller-identity

Подсказка: для удобной работы с JSON в терминале установите утилиту jq.

Полезные инструменты и альтернативы

  • AWS CLI v2 — официальный двоичный инсталлятор с дополнительными возможностями; полезен, если не хотите управлять зависимостями через pip.
  • IAM роли для EC2 и IAM Instance Profiles — предпочтительный способ предоставлять временные креденшалы серверам вместо статических ключей.
  • aws-vault — инструмент для безопасного хранения временных ключей и MFA-поддержки.
  • AWS SSO / Single Sign-On — альтернативный путь для аутентификации пользователей без долгоживущих ключей.

Когда этот подход не подходит

  • Если вы разворачиваете инфраструктуру на массовых экземплярах, хранение статических ключей на каждой машине увеличивает риск компрометации. Используйте роли EC2 или централизованное управление секретами.
  • Для одноразовых задач в защищённых средах имеет смысл использовать временные токены и автоматическую ротацию ключей.

Безопасность и лучшие практики

  • Не храните секретные ключи в репозиториях кода или в общедоступных конфигурациях.
  • Применяйте принцип наименьших привилегий: давайте пользователю только те политики, которые нужны для конкретной задачи.
  • Для серверов используйте IAM роли EC2 или AWS Systems Manager с session manager вместо статических ключей.
  • Ротация ключей: планируйте регулярную смену ключей и используйте инструменты автоматизации для обновления конфигураций.
  • Включайте MFA для административных учётных записей. Даже при включённой MFA, программные ключи позволят обход аппаратного токена, поэтому храните их в защищённых хранилищах.
  • Используйте менеджеры секретов (AWS Secrets Manager, HashiCorp Vault) для управления учётными данными в CI/CD.

Мини-методология установки (SOP)

  1. Убедитесь, что Python 3 и pip установлены.
  2. Установите awscli через pip3 или используйте официальный инсталлятор AWS CLI v2.
  3. В IAM создайте пользователя с типом доступа Programmatic Access.
  4. Назначьте минимально необходимые права (через группы или политики).
  5. Выполните aws configure и проверьте aws sts get-caller-identity.
  6. Перенесите ключи в защищённое хранилище и удалите их из временных файлов.

Роль-ориентированные чек-листы

Администратор:

  • Создать IAM-группу для админов
  • Включить MFA для учётной записи
  • Настроить политику логирования и аудита

Разработчик:

  • Получить минимальный набор прав на разработку
  • Не хранить ключи в исходниках
  • Использовать aws configure для локальной работы

CI/CD сервер:

  • Использовать IAM роль сервиса или Secrets Manager
  • Ограничить доступ по IP и временем действия токенов
  • Логировать действия API

Критерии приёмки

  • aws –version возвращает версию CLI
  • aws sts get-caller-identity показывает ожидаемый аккаунт/ARN
  • aws ec2 describe-instances (при наличии прав) возвращает список инстансов
  • Креденшалы не находятся в публичных репозиториях

Короткий словарь

  • IAM — система управления доступом в AWS.
  • Access Key ID / Secret Access Key — пары учётных данных для программного доступа.
  • Роль EC2 — механизм выдачи временных прав экземпляру без статических ключей.
  • aws configure — команда для настройки профиля CLI.

Итог

Установка AWS CLI через pip и настройка с IAM-пользователем — быстрый путь начать работу с AWS из терминала. Всегда применяйте принцип наименьших привилегий, отдавайте предпочтение ролям и менеджерам секретов на серверах, и проверяйте настройки через aws sts get-caller-identity.

Важно: если вы работаете в крупной организации, согласуйте создание пользователей и политики с командой безопасности.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро