2011-11-09 105 views
7

我们希望开始使用Google云端存储作为用户上传文件的永久存储区。不幸的是,我们无法将应用标识(application-id @ appspot.gserviceaccount.com)添加到我们的“团队”,因为我们的团队基于Google Apps for domains,并且不允许任何不是在我们的领域成为团队。适用于App Engine的Google云端存储身份验证

在这种情况下,有推荐的方式来验证App Engine实例吗?

+0

失去好奇心,您从Cloud Storage抓取哪些功能无法通过App Engine + Blobstore访问? – kamens

+1

我们希望公开数据以供用户下载,并且Cloud Storage比通过appengine提供的服务更快,更便宜。基本上,我们将它用作易于失效的CDN。 – tghw

+0

Gotcha。我们获得了一些好运(性能明智),并带有我们的blobstore响应(谷歌的前端服务器似乎能够迅速处理大部分请求)。容易失效的部分是一个不同的故事。 – kamens

回答

3

使用gmail帐户创建一个新团队。添加所有团队成员(包括应用程序),并从团队中删除gmail帐户。

是的,这是一个可怕的黑客攻击。对于那个很抱歉。

4

您还可以使用GSUtil明确授予您创建的存储区的写入权限,以便您的服务帐户“[email protected]”有足够的存取权限。默认情况下,您的存储桶不能被其他人访问。

你将需要GSUtil的做修改您的水桶ACL是这样的:

  • 检索桶的ACL:gsutil会则getacl GS:// mybucket> acl.txt
  • 进行更改到acl.txt,例如为用户“[email protected]”添加额外的授权以具有对存储区的写入访问权限,请参阅ACL文档。如何做到这一点:http://code.google.com/apis/storage/docs/accesscontrol.html#applyacls 具体来说,它可能是这个样子添加到您下载的acl.txt:

    <Entry> 
        <Scope type="UserByEmail"> 
        <EmailAddress>[email protected]</EmailAddress> 
        <Name>Service Account</Name> 
        </Scope> 
        <Permission>FULL_CONTROL</Permission> 
    </Entry> 
    
  • 更新ACL的水桶:gsutil会SETACL acl.txt GS:// yourbucket

希望这有助于!

+0

你真的尝试过吗,它有用吗?这些指令明确要求为项目添加权限而不是存储桶:'将服务帐户作为项目编辑器添加到存储桶所属的Google API控制台项目' – Yasser

+0

我可以确认此操作(使用gsutil)也适用于我们 – tosh

+0

这对我有用。我在App Engine控制台的“应用程序设置”下获得了服务帐户名称。 –

相关问题