Конфигурация экземпляров Google Compute Engine по умолчанию позволяет администраторам запускать все команды через sudo без указания пароля. Это похоже на слабость безопасности, потому что кража одного SSH-ключа, принадлежащего администратору, может позволить неограниченный доступ к каждому экземпляру, и все данные могут быть скомпрометированы. Требование пароля для sudo обеспечит второй уровень безопасности, не позволяя злоумышленнику получить привилегии root. Злоумышленнику также придется взломать пароль sudo администратора для доступа к конфиденциальным данным или выполнения деструктивных действий.
Кажется, что должна быть возможность настроить sudo для каждого экземпляра так, чтобы он запрашивал пароль, но тогда каждый администратор должен был бы вручную установить пароль для каждого экземпляра. Этот подход не будет хорошо масштабироваться во многих случаях. Поддерживает ли Google Cloud Platform какие-либо формы управления паролями? Если нет, как мне потребовать пароль для sudo таким образом, чтобы он хорошо масштабировался для многих экземпляров и нескольких администраторов?
Вы можете ограничить доступ к проекту sudo с помощью функции учетных записей пользователей, которая в настоящее время находится в бета-версии. Упоминается дополнительная информация Вот:
Корневой доступ
Всем учетным записям пользователей Linux в вашем проекте предоставляется root-доступ к вашим экземплярам. По умолчанию новые учетные записи пользователей Linux добавляются в следующие группы пользователей при создании учетной записи:
gce-sudoers - Предоставляет root-доступ. gce-users - Группа обычных пользователей. Группа gce-sudoers автоматически поддерживается службой Cloud User Accounts и содержит все учетные записи пользователей Linux в вашем проекте. Если вы хотите ограничить root-доступ для определенных учетных записей, удалите политику по умолчанию по адресу:
/etc/sudoers.d/gcua
Затем создайте свою группу и добавьте конфигурацию, аналогичную файлу gcua, в папку sudoers.d.