功能对象及权限点
功能权限控制用户能否进入 Lakehouse Studio 的产品模块,以及能否在模块中执行具体操作。它更像 Studio 的“页面和按钮开关”:例如允许用户打开“开发”页面、创建任务、执行代码或发布任务;元数据权限则控制这些操作可以访问哪些 Workspace、Schema、Table、Virtual Cluster 等对象。
当你需要让一个角色使用 Studio 的某个模块,但不希望授予它全部数据对象权限时,使用功能权限;当你需要限制角色可以查询哪些表、使用哪些计算集群时,使用元数据对象及权限。生产环境通常需要两类权限同时配置。
功能权限模型
功能权限按以下层级组织:
功能域和功能对象是 Studio 权限页面中的授权对象,不是可以通过 SQL
GRANT 或 REVOKE 操作的元数据对象。一个功能对象可以只授予部分 READ 或 WRITE 原子操作;WRITE 不自动代表所有写操作,READ 也不自动代表所有读相关操作。
功能权限与元数据权限的区别
| 权限类型 | 控制内容 | 授权方式 | 示例 |
|---|---|---|---|
| 功能权限 | Studio 菜单、页面和具体操作 | 在 Web 端的工作空间角色详情中配置 | 允许角色在“开发”中创建和执行任务 |
| 元数据权限 | Lakehouse 对象及其数据操作范围 | SQL / 或 Web 端对象授权 | 允许角色使用 ,查询 |
| 角色授予 | 用户是否获得角色中的权限 | Web 端或 SQL | 将 授予用户 |
用户的最终有效权限是直接授予给用户的权限与用户所拥有角色权限的并集。功能权限和元数据权限也分别按各自的授权结果生效,不会因为拥有其中一类权限而自动获得另一类权限。
功能对象总览
当前 Studio 功能权限树包含 8 个功能域、12 个功能对象和 47 个原子操作。
| 功能域 | 功能对象 | READ 操作 | WRITE 操作 |
|---|---|---|---|
| 开发 | 开发 | 下载、查看、复制 | 提交、创建、修改、删除、执行 |
| 运维监控-任务运维 | 任务运维 | 查看 | 暂停、启动、补数据、强制刷新、删除 |
| 运维监控-任务运维 | 任务实例运维 | 查看 | 暂停、置成功、终止、置失败、启动、重跑 |
| 运维监控-任务运维 | 补数任务运维 | 查看 | 终止、强制刷新 |
| 运维监控-任务运维 | PIPE任务运维 | 查看 | 暂停、启动、修改、删除 |
| 运维监控-监控告警 | 告警事件 | — | 暂停、终止 |
| 数据-数据质量 | 数据质量规则 | — | 创建、修改、删除、执行 |
| 数据-数据质量 | 数据质量任务 | — | 置成功、置失败、重跑 |
| 计算-集群 | 计算集群-空间环境配置 | — | 修改 |
| 计算-作业历史 | 计算-作业历史 | 查看 | — |
| 分析 | notebook | 查看 | 创建、修改、删除、执行 |
| 发布中心 | 发布 | 查看 | 发布 |
功能对象与权限点
开发
入口:开发。
| 权限点 | Studio 操作 | 权限边界 |
|---|---|---|
| READ / 查看 | 打开开发目录,查看任务、脚本、调度配置和运行结果 | 不授予代码修改、任务执行或数据查询权限 |
| READ / 下载 | 下载任务运行后返回的数据结果 | 下载范围受任务结果和数据权限影响 |
| READ / 复制 | 复制任务运行结果 | 在目录树中创建任务副本通常还需要 |
| WRITE / 创建 | 新建文件夹、任务组以及 SQL、Python、Shell、同步等任务节点 | 创建任务不自动授予其所访问数据对象的权限 |
| WRITE / 修改 | 修改代码、名称、目录、调度、参数、负责人、集群、Schema 和依赖 | 任务配置变更可能影响后续调度实例 |
| WRITE / 删除 | 删除开发目录、任务组或任务节点 | 删除运维中的任务需要同时具备任务下线能力 |
| WRITE / 执行 | 在编辑器中运行或停止脚本、运行选中的 SQL、查看日志和结果 | 还需要 Virtual Cluster 使用权限及所访问数据对象权限 |
| WRITE / 提交 | 提交已配置调度的任务,进入发布或运维流程 | 提交不等同于正式发布;正式发布由“发布中心 → 发布”控制 |
任务开发支持编写、调试、调度配置和提交发布。功能权限只控制 Studio 操作入口,SQL 的读写仍由 Table、View、Schema 等元数据权限决定。
任务运维
入口:运维监控 → 任务运维中的任务列表或周期任务页签。
| 权限点 | Studio 操作 | 结果 |
|---|---|---|
| READ / 查看 | 查看任务列表、任务详情、上下游依赖、实例列表和已提交代码 | 不允许修改开发态脚本 |
| WRITE / 暂停 | 暂停任务调度 | 不再生成或运行新的周期任务实例 |
| WRITE / 启动 | 启动已暂停任务 | 恢复正常调度并生成任务实例 |
| WRITE / 补数据 | 从周期任务发起补数任务 | 配置业务时间范围、节点范围、并发数和补数自依赖 |
| WRITE / 强制刷新 | 强制刷新任务运行状态和运维信息 | 与普通刷新按钮的差异以当前 Studio 版本页面提示为准 |
| WRITE / 删除 | 将任务从运维中心下线 | 任务回到开发文件的未提交状态,不等同于删除开发态文件 |
“补数据”用于为历史或未来业务时间生成任务实例;已创建补数任务的查看和处置由“补数任务运维”对象控制。
任务实例运维
入口:运维监控 → 任务运维 → 实例运维。
| 权限点 | Studio 操作 | 适用状态与影响 |
|---|---|---|
| READ / 查看 | 查看实例列表、实例详情、依赖 DAG、执行代码、执行日志和操作日志 | 用于定位等待、失败和执行缓慢问题 |
| WRITE / 暂停 | 暂停未进入终态的实例 | 暂停后不再继续调度该实例 |
| WRITE / 启动 | 恢复已暂停实例 | 官方页面通常将该动作显示为“恢复” |
| WRITE / 终止 | 终止运行中的实例 | 实例状态被置为失败 |
| WRITE / 重跑 | 重新运行已完成的实例 | 仍受任务的实例重跑配置约束 |
| WRITE / 置成功 | 将失败实例强制置为成功 | 可解除下游实例阻塞,应先确认数据影响 |
| WRITE / 置失败 | 将成功实例强制置为失败 | 可能影响依赖链路并触发告警 |
补数任务运维
入口:运维监控 → 任务运维 → 补数任务。
| 权限点 | Studio 操作 | 说明 |
|---|---|---|
| READ / 查看 | 查看补数任务基础信息、统计图、实例列表和实例详情 | 可按年、月、日粒度查看执行情况 |
| WRITE / 终止 | 终止正在运行的补数任务或其执行过程 | 可能导致部分业务时间点未完成,需要重新评估补数范围 |
| WRITE / 强制刷新 | 强制刷新补数任务和实例状态 | 具体刷新范围以当前页面提示为准 |
PIPE 任务运维
入口:运维监控 → 任务运维中的 PIPE 任务页签或 PIPE 详情页。
| 权限点 | Studio 操作 | 对应的 PIPE 语义 |
|---|---|---|
| READ / 查看 | 查看 PIPE 配置、运行状态、消费延迟和运行历史 | 对应 、 和作业历史查询 |
| WRITE / 暂停 | 暂停 PIPE 持续摄取 | 等价于将 设置为 |
| WRITE / 启动 | 恢复 PIPE 持续摄取 | 等价于将 设置为 |
| WRITE / 修改 | 修改执行集群、批次间隔、批次大小、错误跳过次数或作业 Hint | COPY 主体逻辑不能直接修改,通常需要删除后重建 |
| WRITE / 删除 | 删除 PIPE 对象 | 等价于 ,会停止持续摄取链路 |
告警事件
入口:运维监控 → 监控告警 → 告警事件。
| 授权页权限点 | Studio 页面名称 | 对应操作 |
|---|---|---|
| WRITE / 暂停 | 抑制 | 在指定时间内不再为当前告警事件发送重复通知 |
| WRITE / 终止 | 关闭 | 关闭当前告警事件,停止继续接收该事件通知 |
当前授权页使用“暂停/终止”,监控告警文档使用“抑制/关闭”。两者按业务语义对应,不要将“暂停”理解为暂停监控规则,也不要将“终止”理解为终止任务实例。
数据质量规则
入口:数据 → 数据质量 → 质量规则。
| 权限点 | Studio 操作 | 说明 |
|---|---|---|
| WRITE / 创建 | 新建质量规则 | 配置校验对象、指标或自定义 SQL、期望结果、触发方式、执行集群和超时时间 |
| WRITE / 修改 | 编辑质量规则 | 可修改校验条件、负责人、触发方式、执行集群等 |
| WRITE / 删除 | 删除质量规则 | 停止后续由该规则产生的质量校验 |
| WRITE / 执行 | 试跑或手动触发质量规则 | 用于验证规则配置或按需执行校验 |
规则运行需要访问校验对象,并需要指定执行集群。功能权限本身不会授予 Table、View 或 Virtual Cluster 的元数据权限。
数据质量任务
入口:数据 → 数据质量 → 校验结果。
| 权限点 | Studio 操作 | 说明 |
|---|---|---|
| WRITE / 置成功 | 将校验结果人工置为成功 | 可能解除关联调度任务的阻塞 |
| WRITE / 置失败 | 将校验结果人工置为失败 | 可能触发质量告警或影响关联任务状态 |
| WRITE / 重跑 | 对校验结果执行“再次校验” | 使用当前规则重新执行;重新通过后不会继续发送原失败告警 |
当前功能权限树没有单独列出质量结果的查看和终止权限,页面可见性和正在运行校验的处置能力可能由上层功能权限、角色类型或版本策略共同控制。
计算集群-空间环境配置
入口:计算 → 计算集群或工作空间计算环境配置页面。
| 权限点 | Studio 操作 | 说明 |
|---|---|---|
| WRITE / 修改 | 修改空间内计算环境或计算集群配置 | 可能涉及规格、弹性伸缩、并发、自动启动和自动停止等字段 |
该权限只用于配置工作空间的环境。 对计算集群的实际可操作范围受 Virtual Cluster 元数据权限影响。
计算-作业历史
入口:计算 → 作业历史。
| 权限点 | Studio 操作 | 说明 |
|---|---|---|
| READ / 查看 | 查看和筛选作业历史,进入 Job Profile 查看 Stage、Operator、执行计划、错误和性能信息 | 当前功能对象没有写权限,不包含终止作业或修改作业配置 |
作业历史页面展示 JDBC 作业、Studio 临时查询和 Studio 周期调度任务。具体作业范围还可能受 Workspace、角色和对象可见性限制。
Notebook
入口:分析 → Notebook。Notebook 当前属于受邀预览功能。
| 权限点 | Studio 操作 | 说明 |
|---|---|---|
| READ / 查看 | 查看 Notebook 目录、内容、单元格和执行结果 | 数据树的对象范围仍由数据权限控制 |
| WRITE / 创建 | 新建 Notebook,添加 SQL、Python 或 Markdown 单元格 | Notebook 目录当前不支持创建文件夹 |
| WRITE / 修改 | 编辑代码和 Markdown、修改参数、重命名或复制 Notebook、移动或清除单元格输出 | 复制 Notebook 可能同时需要创建权限 |
| WRITE / 删除 | 删除 Notebook 或单元格 | 会影响 Notebook 内容和后续协作 |
| WRITE / 执行 | 执行单元格、全部运行或停止执行 | SQL 单元格还需要计算集群使用权限和数据对象权限 |
发布
入口:发布中心。
| 权限点 | Studio 操作 | 说明 |
|---|---|---|
| READ / 查看 | 查看待发布内容、发布详情、发布记录或状态 | 可用于发布前检查和审计 |
| WRITE / 发布 | 执行正式发布 | 与“开发 → 提交”形成提交与发布的职责分离 |
“提交”和“发布”是两个独立的权限点:提交用于将开发内容送入后续流程,发布用于在发布中心执行正式发布。团队可以将两项权限授予不同角色,以隔离开发和生产发布职责。
授权边界与组合要求
功能权限不能替代数据权限
以下组合说明常见的最小授权关系:
| 目标 | 必要的功能权限 | 还需要的元数据或身份权限 |
|---|---|---|
| 在开发页面编写并执行 SQL | 开发 → 开发:查看、创建/修改、执行 | Workspace 成员、Virtual Cluster 、Schema 和数据对象权限 |
| 在开发页面提交调度任务 | 开发 → 开发:查看、修改、提交 | 任务涉及的计算集群和数据对象权限 |
| 运行生产任务实例 | 任务实例运维:查看及对应处置动作 | 任务和实例所在 Workspace 的访问范围 |
| 创建质量规则并试跑 | 数据质量规则:创建、执行 | 校验对象元数据权限、执行集群使用权限 |
| 使用 Notebook 查询数据 | notebook:查看、创建/修改、执行 | Workspace 成员、Virtual Cluster 、Schema 和 Table/View 权限 |
| 查看并发布上线内容 | 发布:查看、发布 | 目标 Workspace 的成员身份及发布流程要求 |
功能权限不支持 SQL 授权
功能对象和权限点属于 Studio 页面功能授权,不对应
workspace、schema、table、vcluster 等 SQL 元数据对象。因此,不要编写以下形式的 SQL 来授予 Studio 功能权限:
应在 Web 端的工作空间角色详情页中配置功能权限;数据对象和计算资源则继续使用元数据权限授权。角色授予与权限查看方式参见配置访问控制。
高影响权限
以下权限会改变生产调度、任务终态、数据链路、质量结果或资源成本,建议单独授予并纳入操作审计:
- 任务运维:暂停、启动、删除、补数据;
- 任务实例运维:终止、重跑、置成功、置失败;
- 补数任务运维:终止;
- PIPE 任务运维:暂停、启动、修改、删除;
- 数据质量任务:置成功、置失败、重跑;
- 计算集群-空间环境配置:修改;
- 发布:发布。
