0

我想爲同一個Google雲存儲分區中的兩個不同文件夾指定不同的默認ACL級別。這甚至是可能的,或者可能有一些解決方法可用?是否可以爲同一存儲分區中的不同文件夾指定不同的ACL?

似乎有可能使用gsutil acl命令爲不同的文件夾追溯指定不同的ACL級別,而只能在整個存儲桶上使用gsutil defacl命令。正確?

一些可能的解決辦法,我一直頭腦風暴,但沒有發現還沒有任何支持:

  1. 設置每個文件從客戶端(的iOS/Android的),當它第一次上傳特定的ACL。
  2. 有云功能偵聽新文件上傳,然後相應地修改它的ACL。

同樣,我還沒有發現任何上述解決方案的官方文檔中的任何線索,所以任何指針將不勝感激。提前致謝!

回答

1

現在,ACL只能應用於單個對象,並且IAM策略只能應用於整個存儲桶或單個對象。

您提出的兩個解決方案都合理,但都有缺陷。第一種解決方案將是最好的,但前提是您信任iOS用戶以設置良好的權限。客戶端可能會設置不同的權限。這不一定是個問題,因爲假設客戶端已經擁有數據,並且如果它們是惡意的,它們可能已經在任何想要的地方共享它,但這是需要注意的。

第二個解決方案也很好,但有一個非常小的時間窗口,其中對象的ACL將不正確。這對你來說可能也不是問題。

一個很好的變化可能是讓用戶將對象上傳到「暫存」存儲桶,然後通過正確的ACL將對象移動到其生產位置來響應該上載,然後刪除暫存版本。

+0

非常感謝您的反饋!你有沒有任何機會有任何示例代碼,或者可以指向我正確的文檔,以瞭解如何從客戶端或雲端功能設置ACL?也許可以直接從Cloud Function使用gsutil? – Incinerator

相關問題