OS Login
OS Login — это удобный способ управления подключениями к виртуальным машинам и узлам кластеров Yandex Managed Service for Kubernetes по SSH через YC CLI или через стандартный SSH-клиент c SSH-сертификатом или с SSH-ключом, предварительно добавленным в профиль пользователя организации или сервисного аккаунта в Yandex Cloud Organization.
Агент OS Login разработан на основе Guest Agent for Google Compute Engine
OS Login связывает учетную запись пользователя виртуальной машины или узла Kubernetes с учетной записью пользователя организации. Для управления доступом к виртуальным машинам и узлам включите на уровне организации опцию, разрешающую доступ по OS Login, а затем активируйте доступ по OS Login отдельно на каждой виртуальной машине или узле Kubernetes.
Примечание
Если на уровне организации включен доступ по OS Login, то для новых ВМ, создаваемых в этой организации, полю serial_port_settings.ssh_authorization
по умолчанию будет присваиваться значение OS_LOGIN
. Если доступ по OS Login выключен, этому полю по умолчанию будет присваиваться значение INSTANCE_METADATA
.
Так можно легко управлять доступом к виртуальным машинам и узлам Kubernetes, назначая пользователю необходимые роли. Если у пользователя отозвать роли, он потеряет доступ ко всем виртуальным машинам и узлам Kubernetes, для которых включен доступ по OS Login.
Профили OS Login
Для каждого пользователя и сервисного аккаунта в организации можно создавать профили OS Login, содержащие имя (логин) и идентификатор (UID) пользователя или сервисного аккаунта, которые будут использоваться для идентификации этого пользователя или сервисного аккаунта в операционных системах виртуальных машин и узлов кластеров Kubernetes.
При включении в организации доступа по OS Login для всех пользовательских и сервисных аккаунтов этой организации автоматически создаются профили OS Login по умолчанию. При необходимости вы можете создавать дополнительные профили OS Login или редактировать существующие.
Имя пользователя (логин), назначаемое аккаунту в профиле OS Login по умолчанию, зависит от типа аккаунта:
- логин пользовательского аккаунта идентичен имени этого пользователя в организации;
- логин сервисного аккаунта формируется добавлением префикса
yc-sa-
к имени сервисного аккаунта. Например: сервисному аккаунтуmy-robot
будет присвоен логинyc-sa-my-robot
.
Управлять профилями OS Login пользователей вы можете в интерфейсе Cloud Center
Примечание
Просматривать список профилей OS Login могут пользователи, которым назначена роль organization-manager.osLogins.viewer
или выше на организацию.
Подключение по OS Login
Пользователи или сторонние инструменты, такие как Terraform
Чтобы подключиться через стандартный SSH-клиент с использованием SSH-сертификата к ВМ или узлу Kubernetes с включенным доступом по OS Login, нужно экспортировать сертификат OS Login и использовать его при подключении. Сертификат действителен один час. По истечении этого времени для подключения к ВМ или узлу Kubernetes необходимо экспортировать новый сертификат.
Чтобы подключиться к ВМ или узлу Kubernetes с включенным доступом по OS Login через YC CLI или через стандартный SSH-клиент с SSH-ключом, нужно создать пару SSH-ключей и добавить публичный SSH-ключ в профиль пользователя организации Cloud Organization. Вы также можете добавить SSH-ключ в профиль сервисного аккаунта, чтобы иметь возможность подключаться к ВМ по OS Login от имени этого сервисного аккаунта.
Примечание
Необходимые роли для подключения к ВМ по OS Login:
Для подключения через YC CLI к виртуальной машине или узлу Kubernetes с включенным доступом по OS Login пользователю или сервисному аккаунту, от имени которого выполняется команда YC CLI, должна быть назначена роль compute.osLogin
или compute.osAdminLogin
, а также роль compute.operator
.
Для подключения через стандартный SSH-клиент к виртуальной машине или узлу Kubernetes с включенным доступом по OS Login пользователю или сервисному аккаунту, от имени которого выполняется подключение, должна быть назначена роль compute.osLogin
или compute.osAdminLogin
.
Преимущества OS Login:
- моментальное обновление прав доступа в случае отзыва или назначения ролей;
- возможность доступа по короткоживущим SSH-сертификатам;
- возможность доступа по SSH-ключам;
- возможность восстановления доступа к ВМ и узлам кластеров Kubernetes в случае утери SSH-ключей (если используются обычные SSH-ключи, а не OS Login);
- возможность загрузки пользователем собственных SSH-ключей в свой профиль.