Сервисные аккаунты
Сервисный аккаунт — аккаунт, от имени которого программы могут управлять ресурсами в Yandex Cloud.
Зачем нужны сервисные аккаунты
Использование сервисных аккаунтов позволяет гибко настраивать права доступа к ресурсам для написанных вами программ.
Например, вы написали приложение, которое отслеживает статусы виртуальных машин. Для этого ей достаточно иметь права на просмотр (роль viewer), но программа работает от вашего имени, а у вас есть права на удаление виртуальных машин.
Чтобы защититься от случайного удаления виртуальной машины вашей программой, создайте сервисный аккаунт и дайте ему доступ только на просмотр.
Имя сервисного аккаунта должно быть уникальным в рамках облака.
В консоли управления
Чем отличается сервисный аккаунт от других аккаунтов
-
Сейчас сервисные аккаунты нельзя использовать для входа в консоль управления
. Подразумевается, что операции от имени сервисного аккаунта будут выполнять программы, а не люди. -
Сервисный аккаунт — это ресурс. Вы можете назначать и отзывать роли на сервисный аккаунт у других пользователей. Например, чтобы разрешить использовать этот сервисный аккаунт для работы с Yandex Cloud. Чтобы назначить роль на сервисный аккаунт, нужна роль
iam.serviceAccounts.admin
. -
Для сервисного аккаунта можно создать ключи, используемые для аутентификации в Yandex Cloud через API, CLI и другие инструменты. Эти ключи будут удалены при удалении сервисного аккаунта.
-
Сервисный аккаунт можно привязывать к виртуальным машинам и функциям, в которых запускается ваша программа.
Это упрощает масштабирование приложений, работающих с Yandex Cloud:
- Вам не надо изменять код программы, чтобы она заработала на новой виртуальной машине или функции. IAM-токен для аутентификации уже доступен изнутри.
- Чтобы разрешить и запретить всем запущенным экземплярам программы выполнять какие-либо операции в Yandex Cloud, вы назначаете или отзываете роли у одного сервисного аккаунта.
Ключи сервисного аккаунта
Для аутентификации сервисного аккаунта в Yandex Cloud используются:
- авторизованные ключи — используются при получении IAM-токена;
- API-ключи — используются в некоторых сервисах для упрощенной аутентификации вместо IAM-токена;
- статические ключи доступа — используются в сервисах с AWS-совместимым API.
Созданные ключи принадлежат сервисному аккаунту и разрешения на управление ключами наследуются от сервисного аккаунта. Например, если у вас есть роль viewer
на сервисный аккаунт, то вы сможете посмотреть список ключей, принадлежащих этому аккаунту, но не сможете их удалить или создать новые ключи.
Чтобы обеспечивать безопасность и контроль над доступом к ресурсам, отслеживать случаи несанкционированного использования ключей, а также удалять неиспользуемые ключи без риска нарушить работу сервисов Yandex Cloud, вы можете отслеживать даты последнего использования ключей доступа сервисных аккаунтов. Информация доступна на странице сервисного аккаунта в консоли управленияlast_used_at
при вызове методов управления ключами доступа через API.