数据授权
概述
数仓数据处理有大量的中间表,并不适合业务侧使用,全部暴露会增加业务用表的选择复杂度。并且许多项目存在对数据权限的精细化管控需求(库表级别的权限管控)。
通过数据开发平台的 数据授权能力,数据开发用户可在空间内,对空间库、表、视图等资产,进行项目域/ 其他空间域 的使用授权,被授权项目可在仪表盘、跨源资产配置中使用这些资源,被授权的空间可以在自己的空间域内使用这些被授权的资产进行二次开发。
一些权限相关定义
- 【项目授权】是前提
- 【数据授权】是应用层控制
- 【角色权限】是账号角色对应的功能权限控制
| 定义 | 授权方 | 被授权主体 | 权限分类 | 说明 |
|---|---|---|---|---|
| 空间 - 项目授权 | 空间 | 项目 |
|
|
| 数据授权 | 空间A | 项目 空间B |
|
|
| 角色权限 | 角色A | 角色B |
|
|
核心概念&实体
数据授权的基本模型为在“某场景”对“赋权对象”赋予“内容资源”的“相关权限”。
| 定义 | 说明 |
|---|---|
资源组 | 可授权的资源范围是空间的线上资产,资源组的定义需要申明资源范围。
|
| 鉴权空间 |
|
| 授权主体 | 在权限管理及系统设计领域,授权主体(Authorization Subject) 是指被授予访问权限的实体。它既可以是主动的,也可以是被动的,具体取决于上下文和系统设计。 这里是被授权的项目或其他数开空间。 |
| (被)授权主体 | 项目、数开空间 |
| 权限类型 | 数开空间 - 授权 只涉及:
|
| 授权策略 | 授权动作的一个实例 |
资源组
什么是 数开空间的资源组
- 可授权的资源范围是空间的线上资产,资源组的定义需要申明资源范围。
- 资源范围包含的实体有:库db,表,直连视图
| 仓 | Catalog | 库 | db |
|---|---|---|---|
预置 ETL仓 | Hive | 生产环境库(线上) | hive.ws_xxxx_product |
| IDE 库 | hive.ws_xxxx_ide |
注意⚠️:Dev 开发环境库 是不可以对外授权的
数开资源组类型
- 空间内设有预置资源组,您也可以创建自定义资源组
| 资源组类型 | 定义 | db |
|---|---|---|
| 预置资源组 | 空间全部 |
|
| 生产库表 | hive.ws_xxxx_product | |
| IDE 库表 | hive.ws_xxxx_ide | |
| 自定义资源组 | 两种定义方式
|
创建资源组
点击右上角 「+资源组」,进入资源组创建页面
| 定义方式 | 操作方式 | 说明 |
|---|---|---|
| 指定表 | 直接选择单表的集合 |
|
| 正则匹配 | 写正则表达式匹配满足规则的空间表 |
|
资源组保存成功后,有快速跳转链接,跳转到【授权】页面
编辑资源组
点击资源组管理列表中的编辑图标,进入资源组编辑页面
| 资源组类别 | 可编辑项 | 不可编辑项 |
|---|---|---|
| 预置资源组 | / |
|
| 自定义资源组 |
|
|
删除资源组
| 删除方式 | 资源组分类 | 删除动作 |
|---|---|---|
| 主动删除 | 预置资源组 | 不可删除 |
| 自定义资源组 | 删除资源组,将同步删除其授权策略,需提醒用户 | |
| 被动删除 | / | 空间删除,则资源组删除,不可恢复 |
授权策略
在“某场景”对“赋权对象”赋予“内容资源”的“相关权限”。
对 “XXX 项目” 赋予 “生产库表和 IDE 库表” 的 查询权限
【创建资源组】 和【授权】 是连续的两个独立的动作。
鉴权类型
默认被空间赋予权限的授权主体都拥有 meta,list,query 的权限。
| 权限类型 | 包括权限 | 默认策略 |
元信息查询 meta |
| 通过 |
下级列表查询 list |
| 通过 |
读 query |
| 通过 |
被授权主体范围
空间 对各 项目 可分别设置授权,权限分为三种:
| 权限 | 说明 |
|---|---|
| 可供给、可使用 |
|
| 仅可使用 |
|
| 暂不授权 | 指该数开 工作空间 中加工出的资产 暂未授权 给 项目 使用 |
因此,能被数开空间授予数据权限的前提是,此项目拥有“可供给”权限。
新增授权
方式一:在资源组上配置
在「资源组」上的授权配置为稳定结构,独属于当前资源组。
进入【配置授权】详情页,仅可选 授权方式 = 将资源组授权,保存时弹窗确认「新增 X 条授权策略」
方式二:在公有导航上配置
点击右上角的【授权】按钮
进入【配置授权】详情页,可配置两种视角【为主体授权】和【将资源组授权】的授权方式。
编辑授权策略
- 一个 资源组 可以授权 多个不同主体,产生多个 授权策略
- 已启用的策略,关联的资源组定义依旧可以变更
- 若策略关联的资源组授权配置发生了变更,策略会发生增删的变更
| 操作 | 触发方式 | 说明 |
|---|---|---|
| 新增策略 | 手动新增 | 手动添加「授权」,从而新增的授权策略 |
| 编辑「资源组」 的授权,给了部分新的授权主体授权 | ||
删除策略 | 主动删除 | 在 操作 栏手动删除策略,或 批量删除 策略
|
| 被动删除 | 编辑「资源组」 的授权,取消了部分授权主体的授权
| |
删除项目:被授权的主体(项目)在系统被删除
删除空间:空间下的所有资产删除 | ||
| 启用/停用策略 | 主动启用 | 策略创建成功,则默认「启用中」 |
| 主动停用 | 在 操作 栏手动停用策略 | |
被动停用 | 取消项目“可供给”权限:策略会被 「停用」 删除项目:被授权的主体(项目)在系统被删除,策略停用并删除 |
授权策略管理列表
鉴权工具
数据授权模块提供了一个快速鉴权工具帮您定位相应的资产权限范围。
查询:
- 当前选择的 鉴权资源 在哪些 资源组中?
- 当前选择的 鉴权资源 在 某空间/项目内 是否有权限?

