Настройка сервисного аккаунта#
Для работы с ресурсами Yandex Cloud можно использовать учетную запись обычного пользователя, однако, для средств автоматизации лучше подходит сервисный аккаунт.
Для подготовки сервисного аккаунта Yandex Cloud к работе c Astra Automation выполните следующие действия:
Если клиент командной строки Yandex Cloud не настроен, следуйте инструкциям из секции Установка и настройка интерфейса командной строки YC CLI.
Убедитесь, что сервисный аккаунт существует и ему назначены необходимые роли.
Создайте ключ доступа к ресурсам каталога.
(Опционально) Создайте статический ключ доступа к бакету Yandex Object Storage.
Проверка наличия необходимых ролей#
Для управления ресурсами сервисному аккаунту должны быть назначены роли, дающие необходимые привилегии.
Примечание
Роль editor
дает привилегии на создание, изменение и удаление любых типов ресурсов в каталоге, однако, в большинстве случаев столь широкие полномочия избыточны.
Для более тонкой настройки ознакомьтесь со списком всех ролей, предоставляемых Yandex Cloud, и назначьте сервисному аккаунту только те роли, которые действительно необходимы.
Если сервисный аккаунт уже существует, убедитесь, что ему назначены роли, позволяющие управлять необходимыми типами ресурсов:
yc resource-manager folder list-access-bindings <folder_name|folder_ID> | grep <sa_ID>
В терминал выводится таблица, отображающая список ролей, назначенных сервисному аккаунту с указанным идентификатором <sa_ID>.
Создание сервисного аккаунта#
Если сервисный аккаунт не существует, создайте его:
yc iam service-account create \
--name=<sa_name> \
--description="<description>"
где
<sa_name> – имя сервисного аккаунта. Должно удовлетворять следующим требованиям:
длина от 3 до 63 символов;
может содержать только строчные буквы латинского алфавита, цифры и дефисы;
первый символ – буква;
последний символ – не дефис;
имя должно быть уникальным в рамках облака.
<description> – опциональное описание сервисного аккаунта.
Подробности о создании сервисных аккаунтов см. в документации Yandex Cloud.
Назначение ролей сервисному аккаунту#
Чтобы назначить сервисному аккаунту роль на каталог, выполните команду:
yc resource-manager folder add-access-binding \
--name <folder_name> \
--role <role_name> \
--service-account-name <sa_name>
где
<folder_name> – имя облачного каталога;
<role_name> – имя роли;
<sa_name> – имя сервисного аккаунта.
Подробности о назначении ролей сервисным аккаунтам см. в документации Yandex Cloud.
Создание AWS-совместимого статического ключа доступа#
Примечание
Создавайте AWS-совместимый статический ключ доступа в том случае, если планируете использовать бакет Yandex Object Storage для хранения объектов состояния Terraform.
Чтобы создать AWS-совместимый статический ключ доступа для сервисного аккаунта, выполните команду:
yc iam access-key create --service-account-name <sa_name>
При успешном выполнении команды в терминал выводится информация о созданном ключе, например:
Сохраните значения полей key_id
и secret
– они понадобятся в дальнейшем.
Подробности о создании AWS-совместимых статических ключей доступа для сервисных аккаунтов см. в документации Yandex Cloud.