2016-08-28 92 views

回答

1

从GCE内部处理验证有一个很好的方法。 GCE实例可以有一个关联的服务帐户,代表在该GCE实例上运行的程序。可以授予该服务帐户像任何其他帐户一样写入您的GCS存储区的权限。

充当此服务帐户的凭证在部署的GCE实例上很容易获得。最简单的方法是使用支持应用程序默认凭证的Google工具或库。如果您的授权码是完全自定义的,您可以直接从URL“http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token”中检索该服务帐户的访问令牌(如果您这样做,还必须包含标题“Metadata-Flavor:Google”)。

GCS命令行实用程序gsutil预先安装在GCE实例上,它可以使用应用程序默认凭据。如果您从脚本或shell中调用它,它会将文件上传到云存储,而无需进一步配置。

使服务帐户与GCS协同工作有一个重要的技巧。 GCE要求您指定服务帐户的范围,默认情况下,GCS不包含在这些范围内,这意味着服务帐户最初不会与GCS一起使用。您需要将GCS添加到允许的范围并重新启动实例。

对GCE实例配置服务帐户的文档是在这里:https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances

如何使用应用程序的默认凭据的文档是在这里:https://developers.google.com/identity/protocols/application-default-credentials

相关问题