本页面简要介绍了 Cloud Storage 中的托管式文件夹。托管式文件夹是一种文件夹,您可以授予其 IAM 角色,以便更精细地控制对存储桶中特定对象组的访问权限。托管式文件夹作为资源存在于 Cloud Storage 中,与模拟的文件夹不同,后者使用平面命名空间运行。
适用于托管文件夹的 IAM
对代管式文件夹应用 IAM 政策时,在政策中授予的访问权限也会应用于存储桶中任何以代管式文件夹名称作为前缀的对象。例如,如果您为主账号授予了名为 example-bucket/example-managed-folder/
的代管式文件夹的 Storage Object Viewer (roles/storage.objectViewer
) 角色,则该主账号可以查看 example-managed-folder
(例如 example-bucket/example-managed-folder/example-object.txt
)中的任何对象。嵌套代管式文件夹时,系统会以累加方式应用通过 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/
的托管式文件夹。默认情况下,您无法删除包含对象或其他子级托管文件夹的非空托管文件夹。在
Delete
ManagedFolder JSON API 请求中使用allowNonEmpty
参数时,您可以绕过此规则。