Skip to content

Сервисные аккаунты

Сервисный аккаунт — это специальная учетная запись, создаваемая пользователем для вспомогательных целей — чтобы организовать взаимодействие программ и сервисов с облачными ресурсами. То есть, операции, выполняемые программой/сервисом, будут выполняться от имени сервисного аккаунта.

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

При назначении роли сервисному аккаунту важно соблюдать принцип наименьших привилегий. Например, если программа или сервис использует сервисный аккаунт для взаимодействия только с сервисом Object Storage, то необходимо:

  • назначить этому аккаунту роль, которая предусматривает только конкретные действия с конкретными бакетами;
  • отозвать все прочие роли у данного сервисного аккаунта.

Общая информация

С помощью сервисных аккаунтов программы — как в облаке MWS, так и вне его — могут выполнять операции в облаке, например, создавать, читать, изменять и удалять ресурсы (бакеты и файлы в Object Storage, виртуальные машины, диски и т.п.).

В отличие от учетных записей реальных пользователей, вместо авторизации с помощью МТС ID сервисные аккаунты авторизуются в облаке с помощью ключей доступа.

У каждого сервисного аккаунта есть идентификатор, который используется для точного обращения к нему (например, при создании IAM-токена).

Создавать сервисные аккаунты и ключи и управлять ими можно только в веб-консоли.

Сценарии использования сервисных аккаунтов:

  1. CI/CD-процессы.
    Сервисные аккаунты обеспечивают автоматическое развертывание приложений.
  2. Интеграция сервисов.
    Подключение приложений и баз данных через API.
  3. Мониторинг инфраструктуры.
    Инструменты мониторинга используют сервисные аккаунты для доступа к данным.
  4. Резервное копирование.
    Создание бэкапов с использованием автоматизированных скриптов.
  5. Обмен данными.
    Передача данных между сервисами с безопасной аутентификацией.

Разрешайте сервисным аккаунтам действия, необходимые для решения конкретных задач. Ограничивайте срок действия ключей, а также выполняйте их регулярную ротацию — это снижает риск их компрометации.

Особенности и ограничения

Сервисные аккаунты не могут выполнять вход в консоль MWS, но могут быть использованы для выполнения операций через API или CLI.

Управление доступом

Сервисные аккаунты являются ресурсами IAM и создаются в рамках проекта.

Сервисные аккаунты могут выступать и как субъекты, и как объекты доступа:

  • От имени сервисного аккаунта можно получать доступ к другим ресурсам так же, как от имени пользовательского аккаунта. Сервисному аккаунту можно назначить роль в рамках проекта, в котором они были созданы.

  • Любому аккаунту (как пользовательскому, так и другому сервисному) можно назначить роль, чтобы он мог использовать или управлять сервисным аккаунтом. Для этой цели предусмотрены роли:

    • iam.serviceAccount.user
      Роль позволяет просматривать информацию о сервисном аккаунте.
    • iam.serviceAccount.admin
      Роль включает все разрешения для роли iam.serviceAccount.user, и позволяет управлять сервисным аккаунтом, его ключами, а также доступом к нему.

Наследование прав доступа для ролей iam.serviceAccount.user и iam.serviceAccount.admin: