LAS 文件系统主要提供文件管理功能,用户可以通过文件系统实现目录和文件的创建/删除/上传/下载/共享等操作。
文件系统支持挂载 LAS FS 外表,可以通过 LAS SQL 进行读写。同时也支持 Spark 引擎通过 LAS FS SDK访问。
通过 LAS 控制台->数据管理->文件管理 可以进入文件管理模块。
主账号的 public 目录用来存放该租户下的共享数据,主账号可写,所有子账号可读。
主账号的 shared-public 目录用来存放来自其他租户共享过来的数据,主账号和所有子账号可读。
主账号的 user 目录用来存所有子账号的数据,并按子账号 ID 进行划分,子账号数据对主账号可见。
主账号的 warehouse 目录用来存放该租户下所有库表的数据,目录层级按照库,表划分。
YES:表示主账号在该目录下有对应权限。
目录名称 | 创建目录 | 共享目录 | 删除目录 | 上传文件 | 下载文件 | 删除文件 |
---|---|---|---|---|---|---|
根目录 (/) | ||||||
租户内公共目录(/public) | YES | YES | YES | YES | YES | YES |
跨租户被共享目录(/shared-public) | YES | YES | ||||
子账号私有目录(/user/userId/private) | YES | YES | YES | YES | YES | YES |
子账号被共享私有目录(/user/userId/shared) | YES | YES | ||||
子账号被共享私有目录(/user/userId/private-shared) | YES | YES |
子账号的 public 目录软链接至主账号的 public 目录,两目录内容一致。
子账号的 shared-public 目录软链接至主账号的 shared-public 目录,两目录内容一致。
子账号的 shared 目录用来存储其他租户共享过来的数据。
子账号的 private 目录用来存储该账号下的个人数据。
子账号的 shared-private 目录用来存储同租户下其他子账号共享过来的数据。
子账号的 warehouse 目录软链接至主账号的 warehouse 目录,两目录内容一致。
YES:表示主账号在该目录下有对应权限。
目录名称 | 创建目录 | 共享目录 | 删除目录 | 上传文件 | 下载文件 | 删除文件 |
---|---|---|---|---|---|---|
根目录 (/) | ||||||
租户内公共目录(/public) | YES | |||||
跨租户被共享目录 (/shared-public) | YES | |||||
私有目录 (/private) | YES | YES | YES | YES | YES | YES |
被共享私有目录(/shared) | YES | YES | ||||
同租户被共享目录(/shared-private) | YES | YES |
文件路径权限目前的作用范围为warehouse路径下所有与 ManagedHive 表 相关的 库表 目录,在不具备库表权限的前提下,子账号可以通过申请文件路径权限在这类目录下进行操作。warehouse路径下目录结构与库表的对应关系为:
目录名称 | 库表名称 |
---|---|
根目录 (/warehouse) | |
库目录(/warehouse/test_schema.db) | 库(test_schema) |
表目录(/warehouse/test_schema.db/test_table) | 表(test_table) |
分区目录(/warehouse/test_schema.db/test_table/date=20231031) | 分区(date=20231031) |
关于 ManagedHive 表,目前支持申请库权限、表权限这两种权限。对库目录授予某一权限后,仅支持在该库的目录下执行相关操作。若需要在表目录下进行操作,则需要申请对表目录的操作权限。
权限列表 | 查看路径/文件 | 创建目录 | 删除目录/文件 | 上传文件 | 下载文件 |
---|---|---|---|---|---|
Viewer | ✔️ | ✔️ | |||
Developer | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
对于主账号,无需申请文件路径权限,即可执行以下操作:
YES:表示主账号在该目录下有对应权限。
目录名称 | 授权对象 | 创建目录 | 查看目录 | 删除目录 | 上传文件 | 下载文件 | 删除文件 |
---|---|---|---|---|---|---|---|
根目录 (/warehouse) | 不允许 | YES | 不允许 | 不允许 | 不允许 | 不允许 | |
库目录(/warehouse/db) | 库 | 不允许 | YES | 不允许 | 不允许 | 不允许 | 不允许 |
表目录(/warehouse/db/table) | 表 | YES | YES | YES | YES | YES | YES |
表目录以下(/warehouse/db/table/*) | 表 | YES | YES | YES | YES | YES | YES |
对于子账号,在各级目录下操作需要文件路径权限,如下表:
Viewer、Developer:子账号在目录下操作需要的权限
目录名称 | 授权对象 | 创建目录 | 查看目录 | 删除目录 | 上传文件 | 下载文件 | 删除文件 |
---|---|---|---|---|---|---|---|
根目录 (/warehouse) | 不允许 | 无需权限 | 不允许 | 不允许 | 不允许 | 不允许 | |
库目录(/warehouse/db) | 库 | 不允许 | Viewer、Developer | 不允许 | 不允许 | 不允许 | 不允许 |
表目录(/warehouse/db/table) | 表 | Developer | Viewer、Developer | Developer | Developer | Developer | Developer |
表目录以下(/warehouse/db/table/*) | 表 | Developer | Viewer、Developer | Developer | Developer | Developer | Developer |
特别的,对于包含敏感列的表来说,下载文件除了需要文件路径权限或库表权限外,还额外需要表的全部敏感列权限。
进入权限管理,选择文件路径权限进入路径权限申请页。
文件路径一栏共有两个下拉框,前者用于选择库,后者用于选择当前账号拥有 Admin 权限的 ManagedHive 表。
选择完成后,点击右上角授予路径权限。授权范围可以选择“Schema库”或“表”,用户/用户组处选择需要授予权限的对象,支持授予 Viewer 或 Developer 两种权限,权限的有效期可选。
授权成功后,可以在当前界面查看授权结果。
在文件路径权限管理页,点击“编辑”按钮后,可以在弹窗中修改已授权对象的权限类型,及权限有效期,修改完毕后点击确认保存。
在文件路径权限管理页,点击“删除”按钮并确认后,可以取消对指定用户/用户组的授权。
共享目录功能可以将该账号下的具有写权限的目录共享给其他租户的主账号和子账号。
找到要共享的目录,点击该目录右侧的“共享”按钮,弹出跨租户共享对话框,共享目标选择主账号,在下方的共享租户主账号 ID 输入被共享的目标租户主账号,即可将该目录共享给目标租户,该目录会出现目标租户主账号的 shared-public 根目录下,目标租户下的所有子账号可读。
找到要共享的目录,点击该目录右侧的“共享”按钮,弹出跨租户共享对话框,共享目标选择子账号,在下方的共享租户主账号 ID 输入被共享的目标租户主账号 ID,在共享租户子账号 ID 输入被共享的目标租户子账号 ID, 即可将该目录共享给目标租户的子账号,该目录会出现目标租户子账号的 shared 根目录下,并仅对目标租户的主账号和该子账号可读,其他子账号不可见。