Google compute engine 使用脚本在GCP中拍摄快照

Google compute engine 使用脚本在GCP中拍摄快照,google-compute-engine,Google Compute Engine,我需要从GCP中所有项目的脚本中获取所有服务器的快照 工程数目:10 每个项目的服务器数:05 在服务器中编写脚本:自动化服务器 脚本有: gcloud compute--project$project\u ID disks snapshot${DEVICE\u NAME}--snapshot names gcp-${DEVICE\u NAME}-${DATE}--zone${INSTANCE\u zone}) 到目前为止,我已在服务器X中配置了电子邮件id 使用gcloud auth (我的电

我需要从GCP中所有项目的脚本中获取所有服务器的快照

工程数目:10

每个项目的服务器数:05

在服务器中编写脚本:自动化服务器

脚本有:

gcloud compute--project$project\u ID disks snapshot${DEVICE\u NAME}--snapshot names gcp-${DEVICE\u NAME}-${DATE}--zone${INSTANCE\u zone})

到目前为止,我已在服务器X中配置了电子邮件id 使用
gcloud auth
(我的电子邮件id可以访问我的所有项目,以便我能够拍摄所有服务器的快照) 因此,我可以通过脚本实现同样的功能

我不希望通过用户身份验证(提及电子邮件id)执行此操作

是否有可能通过任何应用程序或使用任何api密钥等执行上述操作。。, 通过将所有项目的访问权授予应用程序或api密钥,并使用该密钥从脚本中获取快照

这将用于:

如果用户X有权访问5个项目,而用户Y有权访问另一组5个项目

需要使用脚本为所有10个项目拍摄快照 此时,如果通过应用程序或api密钥等执行了
gcloud auth

对于上述情况是否可能或任何其他方式这是可能的:

  • 创建一个云内项目
  • 转到10个项目中的每个项目,并授予服务帐户“Editor”、“compute.instanceAdmin”或“compute.storageAdmin”IAM权限
  • 在脚本中使用
    gcloud auth activate service account
    ,使脚本作为服务帐户运行

  • 您还可以为不同的项目使用多个服务帐户,并在之间切换。

    当我在我的一个项目中创建服务帐户时,它报告为
    您没有修改项目权限的权限。若要授予服务帐户对此项目的访问权限,请要求项目所有者将其添加到项目权限中。
    。目前我拥有
    编辑器
    服务帐户管理员
    访问权限。除此之外,创建/编辑服务帐户需要从
    owner
    获取哪些访问权限?正如错误消息所说,创建服务帐户需要成为项目所有者。此流程图可以帮助您了解如何使用服务帐户此GitHub脚本可以帮助您创建快照,删除旧快照始终是一个好主意,这样您就不会占用空间: