Включить доступ по 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 Cloud Organization — учетной записью пользователя организации или сервисным аккаунтом.
Внимание
Если у пользователя есть права суперпользователя
Чтобы создавать виртуальные машины или узлы Kubernetes с доступом по OS Login, разрешите такую возможность на уровне организации. Для этого:
-
Войдите в сервис Yandex Cloud Organization
с учетной записью администратора или владельца организации.При необходимости переключитесь на нужную организацию или федерацию.
-
На панели слева выберите
Настройки безопасности. -
Включите необходимые режимы работы:
-
Доступ по 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-ключ.
-
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --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
.
Результат:
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
(опция выключена).
-
Более подробную информацию о ресурсах, которые вы можете создать с помощью 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 Cloud Organization.