Compute Engine: ограничение имен пользователей SSH

Я хочу использовать вход в ОС с GCP, потому что мы используем IAM для ограничения доступа ко всем другим ресурсам в GCP (сегментам хранения, SQL, Redis и т. д.). Я понимаю, как ограничить доступ пользователей к машинам с помощью сервисных учетных записей и ролей.

Но я не понимаю, как ограничить возможные имена пользователей, которые кто-то может использовать для SSH на наших машинах Compute Engine. Предположим, у нас есть виртуальная машина, настроенная с входом в ОС. Проблема в том, что все подключаются с помощью строки CLI, напримерgcloud compute ssh $MACHINE_NAMEкоторый (возможно, создает, а затем) входит в систему/home/$USER_DOMAIN_SUFFIXкаталог. Таким образом, история оболочки команды, соответствующее содержимое домашнего каталога (загруженные файлы, созданные сценарии и т. д.) и запущенные процессы находятся в другой области действия (UID). Мы могли бы мягко заставить всех делать что-то вродеgcloud compute ssh $SPECIAL_USERNAME@$MACHINE_NAMEгде все используют одно и то же значение. Но это не мешает создавать новые домашние каталоги. Это соглашение, а не политика в области программного обеспечения.

Есть ли способ добиться того, чего я хочу, где я могу свободно выбирать значение? Я не хочу быть привязанным к сгенерированным именам пользователей на основе электронной почты учетной записи пользователя/службы.

С использованиемrootпоскольку все неприемлемо по ряду причин (мы хотим использовать среду выполнения контейнера без полномочий root и хотим ограничить потенциальный ущерб, причиняемый этим$SPECIAL_USERNAME).

1 ответ

Вы можете создать ssh-ключ локально (с любым именем пользователя), а затем добавить его открытый SSH-ключ в проект или экземпляр(ы) GCP через консоль. Просто разместите файлы ssh на каждом компьютере, который вы планируете использовать для доступа к виртуальной машине, и при этом будет использоваться только имя пользователя, указанное вами при создании ключа SSH. Если у вас есть экземпляры виртуальных машин (ВМ) Linux, работающие в Google Cloud, вам может потребоваться предоставить общий доступ или ограничить доступ пользователей или приложений к вашим виртуальным машинам. Если вы хотите указать имя пользователяUSER@]INSTANCE Указывает экземпляр для SSH. USER указывает имя пользователя для SSH. Если этот параметр опущен, используется имя пользователя для входа. При использовании входа в ОС USER будет заменен пользователем, который выполняет вход в ОС. INSTANCE указывает имя экземпляра виртуальной машины, к которому подключается SSH. Следуйте руководству по документации Google Cloud. Управление ключами SSH в метаданных.

Дополнительную информацию см. в разделе «Не создавать нового пользователя при подключении по SSH к вычислительному механизму GCP».

Другие вопросы по тегам