如何在设置为服务帐户的GCP Compute虚拟机上安装监控代理?



我有一个GCP VM设置为使用服务帐户,因此在控制台上的VM实例详细信息中:

服务帐户

blarg@MYPROJECT.iam.gserviceaccount.com

当我运行安装监视代理的命令时,我看到如下:

更新项目ssh元数据…失败。
更新实例ssh元数据…失败。误差
:(gcloud.beta. computer . SSH)无法向实例元数据添加SSH密钥:

  • compute.instances要求"。设置"projects/MYPROJECT/zones/us-central1-a/instances/MYVM"的权限

我在实例(不是整个项目)上给了服务帐户Compute Admin角色,然后重新运行。结果更令人困惑:

更新项目ssh元数据…失败。
更新实例ssh元数据…失败。误差
:(gcloud.beta. computer . SSH)无法向实例元数据添加SSH密钥:

  • 用户没有服务账号>"blarg@MYPROJECT.iam.gserviceaccount.com"。用户:"blarg@MYPROJECT.iam.gserviceaccount.com"。请求项目所有者授予您权限。服务帐户
  • 上的serviceAccountUser角色

我是否真的在上授予iam.serviceAccountUser角色服务帐户,以便它可以使用自己?是否有另一种方式,我可以运行脚本作为我,而不是服务帐户,因为我是一个项目管理员/所有者?

正确,根据compute admin角色的官方文档:

完全控制所有Compute Engine资源。

如果用户将管理的虚拟机实例是配置为作为服务帐户运行,您还必须授予角色/我。serviceAccountUser作用。

链接:https://cloud.google.com/compute/docs/access/iam

相关内容

最新更新