繁体   English   中英

如何更改Google Compute Engine服务帐户的范围以将数据写入Google云端存储分区?

[英]How to change the scope of a Google Compute Engine service account to write data to a Google Cloud Storage bucket?

在GCE上运行了一个实例,并且在同一个项目中有一个GCS存储桶。 但我无法向其写入数据。 如何将数据从VM实例写入存储桶?

更新: 截至2016年12月15日 ,功能setServiceAccount现已处于测试阶段

如果要以不同的标识运行,或者确定实例需要一组不同的范围来调用所需的API,则可以更改现有实例的服务帐户和/或访问范围。 例如,您可以更改访问范围以授予对新API的访问权限或更改实例,以使其作为您创建的服务帐户而不是计算引擎默认服务帐户运行。

要更改实例的服务帐户和访问范围,必须暂时停止该实例。 要停止您的实例,请阅读文档停止一个实例 更改服务帐户或访问范围后,请记住重新启动实例

文档提供了有关如何使用Google Cloud Consolegcloud CLI工具以及API使用此功能的说明。 这是一个使用gcloud的例子; 有关详细信息,请参阅文档

 gcloud beta compute instances set-scopes [INSTANCE_NAME] \\ --service-account [SERVICE_ACCOUNT_EMAIL] \\ [--no-scopes | --scopes [SCOPES,...]] 

以前的答案(2016年12月15日之前有效):

您无法更改正在运行的VM实例的范围。 你可以:

  • 使用在创建时指定的正确范围创建新实例 (可能重用当前实例的磁盘),例如:

     gcloud compute instances create [...] --scopes storage-rw 
  • 如果要从VM内部手动使用gsutil ,可以在VM中运行gsutil config并按照其提示进行身份验证

  • 如果您打算使用使用Google API的自动工具,请使用服务帐户

有待改进:

Google Cloud Platform能够更改API访问范围

但尚未说明截止日期。 敬请关注。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM