代管資料夾

本頁面提供 Cloud Storage 代管資料夾的總覽。代管資料夾是一種資料夾,可讓您授予 IAM 角色,以更精細的方式控管 bucket 內特定物件群組的存取控管。代管資料夾是 Cloud Storage 中的資源,與採用平面命名空間的模擬資料夾不同。

代管資料夾的 IAM

在代管資料夾上套用 IAM 政策時,政策中授予的存取權會套用至值區中的任何物件,這些物件會在物件名稱中使用代管資料夾路徑做為前置字串。舉例來說,如果您將「Storage 物件檢視者」(roles/storage.objectViewer) 角色授予名為 example-managed-folder/ 的代管資料夾主體,該主體就能檢視 example-managed-folder 路徑中的任何物件,例如 example-managed-folder/dog.png 或 example-managed-folder/cat.jpeg。巢狀代管資料夾時,系統會累加套用透過 IAM 政策授予的權限。

無法對 bucket 或代管資料夾設定 IAM 拒絕政策。只能在專案、資料夾和機構資源上設定。此外,受管理資料夾無法指定為 IAM 拒絕政策條件中的資源。拒絕條件只會辨識資源標記函式,且標記無法附加至代管資料夾。

代管資料夾只能在已啟用統一值區層級存取權的值區中建立。

如要進一步瞭解代管資料夾,請參閱下列頁面:

代管資料夾名稱

代管資料夾的名稱必須符合下列規定:

  • 受管理資料夾名稱可包含任何有效的 Unicode 字元序列,以 UTF-8 編碼時長度為 1 到 1024 個位元組。

  • 受管理資料夾名稱不得包含回車字元或換行字元。

  • 代管資料夾名稱結尾必須為 /。受管理資料夾名稱最多可包含 15 個 /。換句話說,代管資料夾最多可有 15 層巢狀結構。

  • 代管資料夾名稱開頭不得為 .well-known/acme-challenge/。

  • 代管資料夾不得命名為 . 或 ..。

強烈建議您避免在代管資料夾名稱中使用下列字元:

  • XML 1.0 中不允許使用的控制字元 (#x7F 至 #x84 和 #x86 至 #x9F):如果您嘗試列出受管理資料夾,這些字元會導致 XML 清單問題。

  • [、]、* 或 ? 字元:Google Cloud CLI 會將這些字元解讀為萬用字元,因此如果代管資料夾名稱包含這些字元,可能會難以或無法使用該工具執行萬用字元作業。此外,* 和 ? 不是 Windows 檔案名稱的有效字元。

  • 機密或個人識別資訊 (PII):代管資料夾名稱的曝光範圍比物件資料更廣。例如,代管資料夾名稱會顯示在物件的網址中,以及列出值區中的物件時。

注意事項

使用代管資料夾時,請注意下列事項:

  • 您可以建立代管資料夾來取代模擬資料夾,也就是說,只要沒有其他代管資料夾使用該名稱,您就可以建立代管資料夾,並以物件的前置字串命名。舉例來說,即使您有現有名為 my-folder/object.txt 的物件,仍可建立名為 my-folder/ 的代管資料夾。請注意,代管資料夾 my-folder/ 的 IAM 政策會套用至名稱前置字串為 my-folder/ 的所有物件。

  • 您可以在建立上層代管資料夾前,先建立下層代管資料夾。舉例來說,您可以建立名為 my-folder-A/my-folder-B/ 的代管資料夾,而不必先建立名為 my-folder-A/ 的代管資料夾。

  • 根據預設,您無法刪除含有物件或其他子代管資料夾的非空白代管資料夾。在 Delete ManagedFolder JSON API 要求中使用 allowNonEmpty 參數,即可略過這項規則。

  • 如果要求刪除資料夾,但相同路徑有代管資料夾,導致要求失敗,則即使沒有明確的 storage.managedFolders.get 或 storage.managedFolders.list 權限,代管資料夾名稱也會顯示在錯誤訊息和 Cloud 稽核記錄中。

後續步驟