2

我似乎無法找到任何有關如何使用iOS服務帳戶訪問Google Cloud Storage的文檔。 iOS應用程序將圖像寫入Rails,並且我已經使用一個服務帳戶與ruby apis將圖像保存到Google Storage。我試圖從iOS讀取這些圖像,但它似乎不存在,我不知道爲什麼。我可以使其工作的唯一方法是使用API​​密鑰並將predefinedAcl設置爲'publicRead'。這意味着我的應用程序的圖像向互聯網開放。iOS Google雲端存儲API服務帳戶訪問

我錯過了什麼?這個功能在iOS庫中不存在嗎?任何未來的計劃?

感謝

+3

如果您使用服務帳戶運送您的應用程序,則安全性會受到影響。任何下載應用程序的用戶都可以提取密鑰。 – jterrace 2015-04-06 16:00:23

+0

@jterrace但是然後..我們應該如何使用iOS應用程序的服務帳戶?托馬斯,你有沒有想過? – Sti 2015-05-25 15:21:39

+0

不,我把它作爲publicRead現在,而不是強迫他們通過我的應用程序服務器,我可以使用服務帳戶...我只是不想支付通過那裏的流量。 :( – Thomas 2015-05-29 22:11:06

回答

1

我認爲你是嚴重影響您的安全,同時遵循一個非常糟糕的做法。下面的是關於如何解決它兩種策略:

  • 當您將圖像保存到谷歌的存儲,你應該創建一個相同的signed URL並用其作爲終點爲客戶/應用程序。或
  • 將原始Google存儲URL保存到用戶的帳戶,通過用戶api無法訪問,並且在運行時收到圖像請求時生成基於短期簽名的URL。

基於服務密鑰的方法實際上是錯誤的,因爲首先你放棄了你的項目證書,而且你甚至永遠不能過期這些密鑰,因爲它們可能被用在許多終端設備之一中。

相關問題