Dataphin数据服务API行级权限管控解决方案 ——构建企业级数据安全的精细化管控体系

简介: Dataphin数据服务推出行级权限管控功能,解决传统权限管理中用户权限分散、管控复杂等问题。支持直连与代理双模式访问,实现API与SQL权限统一管理,满足金融、零售、医疗等行业对数据访问的精细化控制需求。通过动态权限决策引擎和自动化继承体系,确保数据安全且提升应用开发效率。

场景痛点:传统权限管理的局限性

在企业数据应用中,不同角色对数据的访问需求存在显著差异:

  • 金融行业:客户经理仅能查看所属片区客户数据,风控专员需跨区域分析风险指标
  • 零售行业:区域经理仅能访问管辖门店的销售数据,而总部分析师需全局视角
  • 医疗领域:医生仅能调阅本人接诊患者的病历数据,科研团队需脱敏后的聚合数据

在基于数据服务API进行数据查询时,我们通常使用用户信息以及用户的权限配置表进行限制,或者基于应用级别进行授权。但前者无法将用户的权限进行统一的管控,且难以满足API服务与SQL查询的统一管控需求。后者则会让应用的构建变得非常复杂而无法实施。


功能全景:多维权限管控能力

Dataphin数据服务在5.2版本中,新增了行级权限管控能力,可支持多种方式的行级权限管控。

双模式访问机制

直连模式(应用身份鉴权)

  • 应用以自身身份调用API,系统校验应用的行级权限规则
  • 适用于公共数据看板、系统级报表等场景

代理模式(用户身份透传)

  • 通过DelegationUid参数透传用户身份,动态继承用户行级权限
  • 典型场景:SaaS应用代不同租户查询数据、BI工具代理用户执行分析

自动化权限继承体系

  • 直连数据源API:自动继承底层表的行级权限配置
  • 服务单元API:支持独立配置或继承父级权限,子API自动继承服务单元规则

动态权限决策引擎

在API调用时序中嵌入实时权限决策:

  1. 身份认证 → 2. 代理模式校验 → 3. 行级权限动态计算 → 4. 列级权限过滤


配置实践

实践场景概述

接下来我们就用一个具体的例子来演示如何利用行级权限来管控API的调用权限。

某全国连锁零售企业拥有华北、华东、华南3大区域,每个区域下辖10个门店。需要满足以下的权限管控需求:

  • 区域经理仅能查看本区域门店的销售数据
  • 总部分析师可查看所有区域数据
  • 通过BI工具(应用系统)调用数据服务API生成动态看板

下图展示的是数据服务及行级权限管控的架构。通过代理模式支持行级权限,使得在应用系统调用数据服务API时,也能使用最终用户的行级权限控制API的返回数据。使用该方式有以下的前提条件:

  1. Dataphin的用户与应用系统的用户保持一致,或可获取映射关系。通常Dataphin与应用系统都通过SSO与同一个IDP对接,以确保用户管理的统一,或者使用相同的用户体系进行认证和识别。如果不能通过这样的方式保持用户名一致,也只要能有用户的映射表,将应用系统的用户与Dataphin的用户进行对应,通过DelegationUid参数传回即可。
  2. 通常终端的分析看板用户不会直接登录Dataphin,因此我们一般建议外置一个权限申请系统,通过该系统用户可申请所需的行级权限,通过申请后,用Dataphin提供的OpenAPI的功能给用户授权行级权限。

在本实践场景中,我们假定Dataphin与应用系统已经对接到统一的IDP,并且授权系统也已经开发完成。

  1. SSO认证流程:
  1. 所有应用和Dataphin都与IDP进行了SSO集成
  2. 用户通过SSO单点登录进入应用系统
  1. 数据访问流程
  1. 应用使用代理模式访问Dataphin API
  2. 使用SOURCE_USER_ID作为AccountType,确保正确映射IDP用户
  1. 权限管理流程
  1. 用户可以通过授权系统申请新的行级权限
  2. 管理员审批后,通过OpenAPI更新Dataphin内的行级权限配置
  1. 用户标识映射
  1. 应用系统(通过IDP)提供source_user_id (如"east_mgr")
  2. Dataphin通过source_user_id进行权限控制

步骤1:定义行级权限规则

在Dataphin-管理中心-权限管理-行级权限中创建以下行级权限,并配置好行级权限规则。

注意:若同一张表配置多条行级权限,它们将以“与”的逻辑生效。即用户需满足全部行级权限的约束才能查看某行数据。建议把权限逻辑配置进一条行级权限例如:

销售区域及门店控制

授权用户/用户组

所有行

总部分析师

华东所有门店(region = '华东')

华东区经理

华南所有门店(region = '华南')

华南区经理

华北所有门店(region = '华北')

华北区经理

华东门店1(store_id = 'SH001')

华东门店1店长

华东门店2(store_id = 'SH002')

华东门店2店长

...

...

步骤2:配置API,并设置行级权限

接下来,我们创建直连数据源API,ListStoreSales,用于查询门店销售额。

SELECT region, store_id,SUM(sales_amount) AS total_sales
FROM sales_data
WHERE sales_date BETWEEN ${start_date} AND ${end_date}
GROUP BY region,store_id;

Dataphin数据服务根据代码中使用的表sales_data,自动推荐了该表关联的行级权限:销售区域及门店控制。我们保持该行级权限的开启。

步骤3:授权代理权限

Dataphin中已经创建好了应用(分析看板),用于调用Dataphin数据服务API。接下来我们要给应用授予API(ListStoreSales)的以下权限:

  1. API字段权限:授予应用(分析看板)所有的返回字段的使用权限,也可根据需要减少字段的权限。
  2. 代理权限:授予应用(分析看板)API的代理权限。有了代理权限后,应用在调用API时,就可以代理用户的行级权限
  3. 行级权限:无需授权。在这个例子中,由于应用本身不需要提供默认的数据行的权限,仅需代理用户的行级权限,因此无需拥有任何行级权限

由于在步骤一中,我们已经设置了用户的行级权限,因此现在应用可以开始调用API,数据服务将自动对数据的行级范围进行管控。

步骤4:应用调用API

接下来就可以编写应用的代码,调用API(ListStoreSales)获取数据了。在调用代码中,通过设置DelegationUid 和 AccountType设置行级权限的模式为代理模式,并指定代理的用户。在这个例子中,由于我们通过SSO,已经对接了统一的IDP,因此我们可以假设我们可以通过SOURCE_USER_ID(源系统账号ID)来唯一识别和标识用户。

String sourceUserID;
// get source user id from context
// ...
QueryParamRequest queryParamRequest = new QueryParamRequest();
queryParamRequest.setAccountType("SOURCE_USER_ID");
queryParamRequest.setDelegationUid(sourceUserID);

以下是代理模式调用的流程图。可以看到由于设置了DelegationUid,Dataphin数据服务将把本次调用识别为代理行级权限模式调用,因此将从参数中获取到实际的用户,并对该用户进行设置。

不同角色调用同一API时,行级权限的生效效果:

角色

系统实际运行的SQL语句 & 查询结果

总部分析师

系统自动拼接用户对应的行级权限管控规则,此处是“所有”,无需额外拼接条件

可查看所有门店数据

华东区经理

此处自动拼接管控规则“region=华东”

可查看华东区门店数据

华东门店1店长

此处自动拼接管控规则“store_id=SH001”

可查看华东门店1数据


Dataphin行级权限的创新优势

Dataphin数据服务行级权限的创新突破:

  1. 全域统一权限体系
  1. 实现API服务与SQL查询的权限打通,避免重复授权
  2. 示例:为"财务部门"角色配置的预算数据权限,同时约束Doris查询和API访问
  1. 灵活高效的应用集成扩展能力
  1. 支持应用系统通过代理模式访问数据,既保证了应用开发和运维的便捷性,又能精准控制到终端用户级别的数据访问范围
  2. 提供可扩展的统一权限控制,支持跨表字段关联到同一权限规则下,大幅降低权限管理复杂度
  1. 与数据开发全流程深度整合
  1. 安全能力与数据开发过程紧密结合,确保数据全链路的安全可控
  2. 权限规则与API版本绑定,确保API的可维护性
  1. 性能优化创新
  1. 动态SQL改写技术:将权限规则转化为底层查询的WHERE条件

 

这种创新的权限管理方案,不仅解决了传统视图授权的繁琐问题,更为企业提供了统一、精细、高效的数据安全管控能力。


结语:重塑企业数据安全范式

Dataphin通过行级权限+代理模式+全域管控的创新组合,为企业构建了"精准、灵活、智能"的数据安全防护网。无论是构建面向客户的API网关,还是打造内部数据中台,均可实现"数据可用不可见,越权访问零容忍"的安全目标,助力企业在合规前提下释放数据要素价值。

立即体验,开启企业级数据安全新纪元!

相关文章
|
6月前
|
SQL 分布式计算 关系型数据库
Dataphin x Paimon 开箱即用的数据湖治理解决方案
Dataphin深度集成Apache Paimon,通过全链路功能适配和性能优化,为企业提供开箱即用的数据湖治理解决方案。
390 2
|
7月前
|
搜索推荐 数据管理
Dataphin功能Tips系列(70)自定义菜单:构建一站式数据管理平台
Dataphin通过自定义菜单功能,支持嵌入企业其他平台URL,实现统一的数据开发与管理平台,提升团队协作效率。
241 8
|
6月前
|
数据安全/隐私保护
Dataphin功能Tips系列(73)Dataphin行级权限:构建灵活高效的权限管理体系
Dataphin行级权限功能通过“控制字段”实现灵活数据管控,支持多表批量绑定与动态授权,有效降低权限管理复杂度,提升数据安全性与管理效率。
185 0
|
6月前
|
SQL 运维 关系型数据库
【产品升级】Dataphin V5.0版本发布:助力出海业务、增全量一体集成、异步调用API等更多功能等你发现
Dataphin是瓴羊推出的智能数据建设与治理平台,基于阿里巴巴内部实践,提供一站式数据建设与治理能力。V5.0版本研发新增支持Databricks作为离线计算引擎、支持MySQL数据库一键增全量同步、支持管理Hudi、Delta Lake表等;资产运营与消费持续提效,支持批量编辑目录名称及描述、Quick BI仪表板的上架管理等功能,增加资产可用性与盘点效率。
334 8
|
8月前
|
API
Dataphin功能Tips系列(58)- 支持OAuth2.0认证方式的API数据源
在数据集成过程中,Dataphin需通过API从外部系统获取数据,而这些系统常采用动态令牌鉴权机制。本文介绍如何在Dataphin中配置支持OAuth 2.0认证的API数据源,实现自动获取和刷新访问令牌,确保安全高效地进行数据请求与集成。
191 8
|
SQL 分布式计算 Apache
Dataphin x Iceberg 开箱即用的数据湖治理解决方案
Apache Iceberg作为新一代开源数据湖表格式,具备ACID事务、时间旅行和高效Schema演化等能力。Dataphin已完成与Iceberg的深度集成,通过全链路适配与性能优化,为企业提供开箱即用的数据湖治理方案,涵盖数据源支持、离线与实时数据集成、数据研发等核心模块,助力构建现代化数据架构。
402 0
|
8月前
|
API
Dataphin功能Tips系列(64)-API资产编目及上架
在企业数据部门中,因API命名不规范、分类不清、信息不全等问题,导致业务开发人员查找困难、重复咨询、误用接口等,影响效率。Dataphin提供API资产编目与上架功能,通过目录规划、属性管理、手动/自动上架等方式,实现API的系统化管理与精准检索,提升业务响应效率。
189 0
|
9月前
|
运维 安全 数据管理
Dataphin V5.1 企业级发布:全球数据无缝集成,指标管理全新升级!
企业数据管理难题?Dataphin 5.1版来解决!聚焦跨云数据、研发效率、指标管理和平台运维四大场景,助力数据团队轻松应对挑战。无论是统一指标标准、快速定位问题,还是提升管理安全性,Dataphin都能提供强大支持。3分钟了解新版本亮点,让数据治理更高效!
152 0
|
5月前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。