【问题标题】:How to link a google cloud vm to an instance schedule?如何将谷歌云虚拟机链接到实例计划?
【发布时间】:2021-10-06 18:12:49
【问题描述】:

我想每天在特定时间运行我的谷歌云服务器。我为此设置了一个实例计划,但是当我尝试将我的虚拟机链接到计划时,它给了我以下错误:

Compute Engine System service account service-390738840624@compute-system.iam.gserviceaccount.com needs to have [compute.instances.start] permissions applied in order to perform this operation.

有人知道怎么解决吗?

【问题讨论】:

    标签: google-cloud-platform google-compute-engine service-accounts google-iam google-cloud-iam


    【解决方案1】:

    服务帐户 service-390738840624@compute-system.iam.gserviceaccount.com 没有具有 compute.instances.start 权限的角色。

    以下 IAM 角色具有所需的权限:

    • roles/compute.instanceAdmin
    • roles/compute.instanceAdmin.v1

    以下命令会将第一个角色添加到服务帐户:

    将 $PROJECT_ID 替换为您的项目 ID(不是项目名称)。

    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member serviceAccount:service-390738840624@compute-system.iam.gserviceaccount.com \
    --role roles/compute.instanceAdmin
    

    您为其运行命令的账户必须有权授予/修改服务账户上的 IAM 角色。如果您没有正确的权限,则需要请项目所有者或编辑为您执行此操作。

    【讨论】:

    • 已验证这是正确的解决方案。谢谢!
    【解决方案2】:

    为了完成任务,GCP 要求您授予服务帐户 “service-390738840624@compute-system.iam.gserviceaccount.com” 使用 “compute. instance.start”,但服务帐户没有执行任务的正确权限。

    当您将实例设置为作为服务帐号运行时,您确定 您的 IAM 角色对服务账户的访问级别 授予服务帐户。如果服务帐号没有 IAM 角色, 那么服务帐户不能在其上运行任何 API 方法 实例。

    要授予、更改和撤销对单个服务帐户的访问权限,请参阅this guide

    请注意,要管理对服务帐号的访问权限,您需要一个包含以下权限的角色:

    • *iam.serviceAccounts.get
    • iam.serviceAccounts.list
    • iam.serviceAccounts.getIamPolicy
    • iam.serviceAccounts.setIamPolicy*

    如果您想知道您的帐户中包含哪些权限,请参考this guide

    如果您没有适当的权限来授予权限,请咨询您的系统管理员。

    如需了解更多计算引擎角色和权限,请follow this link

    如果您想了解更多关于服务帐户的信息,请follow this link

    如需了解更多关于使用 Google Scheduler 调度计算实例的流程,请follow this link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-29
      • 2015-02-12
      • 1970-01-01
      • 2019-10-07
      • 1970-01-01
      • 1970-01-01
      • 2017-12-25
      相关资源
      最近更新 更多