在 GCP 中管理特定应用用户的最佳实践是什么

在 GCP 中管理特定应用用户的最佳实践是什么

是否有用于管理 Google Cloud Platform 中虚拟机的应用程序特定用户的“最佳实践”?例如,在旧服务器世界中,您可能有一个用于 syslog 守护程序的“syslog”用户,或一个用于 nginx 的“nginx”用户。在那个世界中,我会为我的应用程序创建一个“myapp”用户,然后在该用户下运行该服务。

在 GCP 世界中,我们根据库存映像创建虚拟机,“myapp”用户将不存在。当然,我可以创建一个并制作自定义映像,但我很好奇是否有更好的(规范的 GCP)方法来做到这一点。

此服务不需要访问任何云 API,因此服务帐户对我来说没有立即意义。另外,我不确定是否可以在我的 systemd 单元文件中将服务帐户指定为用户。

我的目标是允许服务在虚拟机上的非特权帐户下运行。我的问题是:我必须使用传统的 unix 工具创建此帐户吗,还是有规范的 GCP 方法?或者也许这在 GCP 世界中没有完成?

答案1

我想到的一件事是“操作系统登录“GCP 中的功能:

OS Login 将您的 Linux 用户帐户与您的 Google 身份关联,从而简化 SSH 访问管理。通过设置 IAM 权限,管理员可以轻松管理实例或项目级别的实例访问。

实际上,当授权用户想要登录虚拟机时,他没有账户,但一个特殊工具(嵌入在操作系统映像中)检测到该登录尝试并“动态”为该用户创建一个账户,然后对用户进行身份验证。您可以在OS 登录的工作原理文档。它的主要目标是从 IAM 页面而不是从实例管理用户。这样您就可以集中控制用户。

syslog但和你说的type users不完全一样。

这里还有一些关于如何设置操作系统登录

没有特殊(或规范)的方法来管理非特权 Linux 帐户(用于运行特定应用程序),因此您必须采用“老式的方法”。

GCP 的虚拟机虽然是虚拟的,但也是带有用户的普通 Linux 机器。根据您的需要,您可能需要手动执行此操作。如果您的配置可重复,则创建一个自定义图像

比客户形象更容易的是创建一个启动脚本在启动虚拟机时创建用户。这种方法的优点是不需要创建自定义映像,并且大多与您运行的 Linux 版本无关。

相关内容