![](/img/trans.png)
[英]How to grant Google compute engine instance access to a cloud storage bucket?
[英]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 Console , gcloud
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的自动工具,请使用服务帐户
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.