Включить доступ по OS Login
Примечание
Если на уровне организации включен доступ по OS Login, то для новых ВМ, создаваемых в этой организации, полю serial_port_settings.ssh_authorization по умолчанию будет присваиваться значение OS_LOGIN. Если доступ по OS Login выключен, этому полю по умолчанию будет присваиваться значение INSTANCE_METADATA.
С помощью сервиса OS Login вы можете управлять SSH-доступом к виртуальным машинам и отдельным узлам в группах узлов в составе кластеров Yandex Managed Service for Kubernetes, полагаясь только на механизмы сервиса Yandex Identity and Access Management, без необходимости загружать SSH-ключи на каждую новую ВМ или узел Kubernetes при их создании. OS Login связывает учетную запись пользователя ВМ или узла Kubernetes с аккаунтом в Yandex Identity Hub — учетной записью пользователя организации или сервисным аккаунтом.
Внимание
Если у пользователя есть права суперпользователя
Чтобы создавать виртуальные машины или узлы Kubernetes с доступом по OS Login, разрешите такую возможность на уровне организации. Для этого:
-
Войдите в сервис Yandex Identity Hub
с учетной записью администратора или владельца организации.При необходимости переключитесь на нужную организацию или федерацию.
-
На панели слева выберите
Настройки безопасности. -
Включите необходимые режимы работы:
-
Доступ по OS Login при помощи SSH-сертификатов (рекомендуется).
Режим позволяет подключаться к ВМ или узлу кластера Kubernetes по SSH-сертификату через Yandex Cloud CLI и через стандартный SSH-клиент. -
Доступ по OS Login при помощи SSH-ключей.
Режим позволяет подключаться к ВМ или узлу кластера Kubernetes через Yandex Cloud CLI или через стандартный SSH-клиент по SSH-ключу, сохраненному в профиле OS Login пользователя или сервисного аккаунта. -
Разрешить членам организации управлять своими SSH-ключами.
Позволяет пользователям самостоятельно загружать в свои профили OS Login публичные SSH-ключи для подключения к ВМ или узлам кластеров Kubernetes.Добавить в профиль новый SSH-ключ можно в консоли управления при создании ВМ или с помощью инструкции Добавить SSH-ключ.
Загружать SSH-ключи в профили OS Login сервисных аккаунтов могут только пользователи с аккаунтом на Яндексе, федеративные или локальные пользователи, которым назначена роль
organization-manager.osLogins.adminили выше.
-
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для включения доступа по OS Login на уровне организации:
yc organization-manager oslogin update-settings --help -
Получите идентификатор нужной организации:
yc organization-manager organization listРезультат:
+----------------------+-------------------------+-------------------------+ | ID | NAME | TITLE | +----------------------+-------------------------+-------------------------+ | bpf1smsil5q0******** | sample-organization-1 | My organization | | bpf2c65rqcl8******** | sample-organization-new | New organization | +----------------------+-------------------------+-------------------------+ -
Включите доступ по OS Login для выбранной организации:
yc organization-manager oslogin update-settings \ --organization-id <идентификатор_организации> \ --ssh-certificates-enabled \ --ssh-user-keys-enabled \ --allow-manage-own-keysГде:
-
--organization-id— полученный ранее идентификатор организации. -
--ssh-certificates-enabled— доступ по OS Login при помощи SSH-сертификатов. Опция позволяет подключаться к ВМ и узлам кластеров Kubernetes по SSH-сертификату через Yandex Cloud CLI и через стандартный SSH-клиент.Чтобы выключить опцию, передайте значение
falseв этом параметре:--ssh-certificates-enabled=false. -
--ssh-user-keys-enabled— доступ по OS Login при помощи SSH-ключей. Опция позволяет подключаться к ВМ и узлам кластеров Kubernetes через Yandex Cloud CLI или через стандартный SSH-клиент по SSH-ключу, сохраненному в профиле OS Login пользователя организации или сервисного аккаунта.Чтобы выключить опцию, передайте значение
falseв этом параметре:--ssh-user-keys-enabled=false. -
--allow-manage-own-keys— разрешить пользователям загружать собственные SSH-ключи. Позволяет пользователям самостоятельно загружать в свой профиль OS Login публичные SSH-ключи для подключения к ВМ и узлам кластеров Kubernetes. Чтобы загрузить собственные SSH-ключи, воспользуйтесь инструкцией Добавить SSH-ключ.Чтобы выключить опцию, передайте значение
falseв этом параметре:--allow-manage-own-keys=false.Примечание
Загружать SSH-ключи в профили OS Login сервисных аккаунтов могут только пользователи с аккаунтом на Яндексе, федеративные или локальные пользователи, которым назначена роль
organization-manager.osLogins.adminили выше.
Результат:
user_ssh_key_settings: enabled: true allow_manage_own_keys: true ssh_certificate_settings: enabled: true -
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
resource "yandex_organizationmanager_os_login_settings" "my_os_login_settings" { organization_id = "<идентификатор_организации>" ssh_certificate_settings { enabled = true } user_ssh_key_settings { enabled = true allow_manage_own_keys = true } }Где:
-
organization_id— идентификатор организации. Получить идентификатор организации вы можете с помощью команды Yandex Cloud CLIyc organization-manager organization listили в интерфейсе Cloud Center . -
ssh_certificate_settings— доступ по OS Login при помощи SSH-сертификатов. Опция позволяет подключаться к ВМ и узлам кластеров Kubernetes по SSH-сертификату через Yandex Cloud CLI и через стандартный SSH-клиент. Параметрenabledможет принимать значенияtrue(опция включена) иfalse(опция выключена). -
user_ssh_key_settings— блок параметров для управления доступом с помощью пользовательских SSH-ключей.-
enabled— доступ по OS Login при помощи SSH-ключей. Опция позволяет подключаться к ВМ и узлам кластеров Kubernetes через Yandex Cloud CLI по SSH-ключу, сохраненному в профиле пользователя организации. Может принимать значенияtrue(опция включена) иfalse(опция выключена). -
allow_manage_own_keys— разрешить пользователям загружать собственные SSH-ключи. Позволяет пользователям самостоятельно загружать в свой профиль OS Login публичные SSH-ключи для подключения к ВМ и узлам кластеров Kubernetes. Чтобы загрузить собственные SSH-ключи, воспользуйтесь инструкцией Добавить SSH-ключ. Может принимать значенияtrue(опция включена) иfalse(опция выключена).
Примечание
Загружать SSH-ключи в профили OS Login сервисных аккаунтов могут только пользователи с аккаунтом на Яндексе, федеративные или локальные пользователи, которым назначена роль
organization-manager.osLogins.adminили выше. -
Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.
-
-
Проверьте корректность конфигурационных файлов.
-
В командной строке перейдите в папку, где вы создали конфигурационный файл.
-
Выполните проверку с помощью команды:
terraform plan
Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.
-
-
Разверните облачные ресурсы.
-
Если в конфигурации нет ошибок, выполните команду:
terraform apply -
Подтвердите создание ресурсов.
После этого настройки организации будут изменены. Чтобы убедиться в том, что доступ по OS Login включен, выполните команду Yandex Cloud CLI, указав идентификатор организации:
yc organization-manager oslogin get-settings --organization-id <идентификатор_организации>Результат:
user_ssh_key_settings: enabled: true allow_manage_own_keys: true ssh_certificate_settings: enabled: true -
Воспользуйтесь методом REST API updateSettings для ресурса OsLogin или вызовом gRPC API OsLoginService/UpdateSettings.
Примечание
Минимально необходимая роль, позволяющая просматривать список профилей OS Login пользователей — роль organization-manager.osLogins.viewer, назначенная на организацию. Информацию о других ролях, позволяющих просматривать список профилей OS Login, см. в разделе Управление доступом в Yandex Identity Hub.