本頁面提供 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 拒絕政策條件中的資源。拒絕條件只會辨識資源標記函式,且標記無法附加至代管資料夾。
代管資料夾只能在已啟用統一值區層級存取權的值區中建立。
如要進一步瞭解代管資料夾,請參閱下列頁面:
JSON API 的ManagedFolder 參考頁面
代管資料夾名稱
代管資料夾的名稱必須符合下列規定:
受管理資料夾名稱可包含任何有效的 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/的代管資料夾。根據預設,您無法刪除含有物件或其他子代管資料夾的非空白代管資料夾。在
DeleteManagedFolder JSON API 要求中使用allowNonEmpty參數,即可略過這項規則。如果要求刪除資料夾,但相同路徑有代管資料夾,導致要求失敗,則即使沒有明確的
storage.managedFolders.get或storage.managedFolders.list權限,代管資料夾名稱也會顯示在錯誤訊息和 Cloud 稽核記錄中。
後續步驟
瞭解模擬資料夾。
將物件上傳至 Cloud Storage bucket。
瞭解使用代管資料夾的最佳做法。