2011-11-09 104 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控制檯的「應用程序設置」下獲得了服務帳戶名稱。 –

相關問題