Сервисные аккаунты
Сервисный аккаунт — это специальная учетная запись, создаваемая пользователем для вспомогательных целей — чтобы организовать взаимодействие программ и сервисов с облачными ресурсами. То есть, операции, выполняемые программой/сервисом, будут выполняться от имени сервисного аккаунта.
Типичные задачи, где могут быть использованы сервисные аккаунты — автоматизация, межсервисное взаимодействие, мониторинг и т.п.
При назначении роли сервисному аккаунту важно соблюдать принцип наименьших привилегий. Например, если программа или сервис использует сервисный аккаунт для взаимодействия только с сервисом Object Storage, то необходимо:
- назначить этому аккаунту роль, которая предусматривает только конкретные действия с конкретными бакетами;
- отозвать все прочие роли у данного сервисного аккаунта.
Общая информация
С помощью сервисных аккаунтов программы — как в облаке MWS, так и вне его — могут выполнять операции в облаке, например, создавать, читать, изменять и удалять ресурсы (бакеты и файлы в Object Storage, виртуальные машины, диски и т.п.).
В отличие от учетных записей реальных пользователей, вместо авторизации с помощью МТС ID сервисные аккаунты авторизуются в облаке с помощью ключей доступа.
У каждого сервисного аккаунта есть идентификатор, который используется для точного обращения к нему (например, при создании IAM-токена).
Создавать сервисные аккаунты и ключи и управлять ими можно только в веб-консоли.
Сценарии использования сервисных аккаунтов:
- CI/CD-процессы.
Сервисные аккаунты обеспечивают автоматическое развертывание приложений. - Интеграция сервисов.
Подключение приложений и баз данных через API. - Мониторинг инфраструктуры.
Инструменты мониторинга используют сервисные аккаунты для доступа к данным. - Резервное копирование.
Создание бэкапов с использованием автоматизированных скриптов. - Обмен данными.
Передача данных между сервисами с безопасной аутентификацией.
Разрешайте сервисным аккаунтам действия, необходимые для решения конкретных задач. Ограничивайте срок действия ключей, а также выполняйте их регулярную ротацию — это снижает риск их компрометации.
Особенности и ограничения
Сервисные аккаунты не могут выполнять вход в консоль MWS, но могут быть использованы для выполнения операций через API или CLI.
Управление доступом
Сервисные аккаунты являются ресурсами IAM и создаются в рамках проекта.
Сервисные аккаунты могут выступать и как субъекты, и как объекты доступа:
От имени сервисного аккаунта можно получать доступ к другим ресурсам так же, как от имени пользовательского аккаунта. Сервисному аккаунту можно назначить роль в рамках проекта, в котором они были созданы.
Любому аккаунту (как пользовательскому, так и другому сервисному) можно назначить роль, чтобы он мог использовать или управлять сервисным аккаунтом. Для этой цели предусмотрены роли:
iam.serviceAccount.user
Роль позволяет просматривать информацию о сервисном аккаунте.iam.serviceAccount.admin
Роль включает все разрешения для ролиiam.serviceAccount.user, и позволяет управлять сервисным аккаунтом, его ключами, а также доступом к нему.
Наследование прав доступа для ролей iam.serviceAccount.user и iam.serviceAccount.admin:
