在 Apache Iceberg REST 目录端点中创建和管理表时,适用以下位置、权限和安全加固规则:
表位置
表路径必须嵌套在父命名空间路径内(例如,gs://{namespace_path}/.../{table_name})。强制执行此限制有助于提高安全性并强化目录。
表路径的行为变更: 请注意,生成的表位置(在其中创建 metadata/ 文件夹)会自动附加一个随机字符串作为后缀,以防止冲突并提高安全性:
- 如果未提供特定位置,则生成的位置为
gs://{namespace_path}/{table_name}/{random_suffix}。 - 如果提供了特定位置(例如,
gs://{namespace_path}/.../{table_name}),则生成的位置为gs://{namespace_path}/.../{table_name}/{random_suffix}。
表注册权限
多存储桶 (bl://) 目录(推荐)需要 biglake.tables.register 权限才能注册表。此权限仅限于 BigLake 管理员 (roles/biglake.admin) 角色,以确保只有管理员可以执行表注册。
单存储桶 (gs://) 目录目前仍强制执行 biglake.tables.create 以进行表注册。