Dataphin JDBC:助您实现数据权限的集中管理

本文涉及的产品
智能数据建设与治理Dataphin,200数据处理单元
简介: Dataphin JDBC提供了统一访问Dataphin中数据的功能,助您实现数据权限的集中式管理。

背景

企业A将Dataphin作为数据建设和治理的平台,同时采购了一套BI软件用于数据分析和可视化,两者都对接了公司的统一登录系统。现在管理员期望将所有的数据源权限都集中在Dataphin,不同的BI用户访问Dataphin中的数据时,都仅可以看见该用户有权限的数据,减少权限的冗余管理。

方案介绍

Dataphin JDBC是Dataphin面向上游应用推出的统一数据服务功能,支持上游系统通过JDBC的方式获取Dataphin中的数据,同时支持在连接中传入用户的信息,Dataphin将根据传入的信息动态判断用户是否有访问数据的权限,帮助企业实现统一的权限管理。

Dataphin JDBC:助您实现数据权限集中管理.png

Dataphin JDBC支持两种认证模式--简单模式代理模式:

  • 简单模式:采用个人用户的AccessKey ID和AccessKey Secret作为用户名和密码,所有上游用户的访问都采用该个人用户的身份进行
  • 代理模式:采用平台级别的AccessKey ID和AccessKey Secret作为用户名和密码,需要在每次连接中指定真实访问的用户信息,不同用户访问时可根据用户权限返回不同的数据。

接下来将为您介绍,如何在代理模式中动态设置访问的用户信息。


详解代理模式

方案1:在JDBC URL中设置代理用户信息

推荐场景:当上游系统支持在JDBC URL中设置动态参数时,推荐使用此方案。

Dataphin JDBC的URL格式为:jdbc:dataphin://host:port/catalog?[tenant_id=TenantID][&ssl=true][&log_level=Log_Level][&user=UserName][&password=PassWord][&delegation_uid=DelegationUid][&account_type=AccountType][&connect_timeout=ConnectTimeout][&engine=engine_type][compute_project=ProjectName] ,每个参数的含义请点击此处查询:Dataphin JDBC 其中delegation_uidaccount_type是代理模式下重点需要关注的信息:

  • account_type是Dataphin用于定位用户的属性信息,存在以下三种取值:
  • SOURCE_USER_ID:用户在来源账号系统中的唯一标识,当上游系统和Dataphin都对接了公司的统一账号登录时,推荐使用;
  • ACCOUNT_NAME:Dataphin的账户名,当上游应用中用户名与Dataphin的账户名一致时,推荐使用;
  •  
  • USER_ID:Dataphin内部的唯一ID(通常不推荐使用);
  •  
  • delegation_uidaccount_type对应的具体值,例如:account_type=SOURCE_USER_ID,则需要在delegation_uid中设置用户在来源系统中的ID。


方案2:通过SET设置连接的代理用户信息

推荐场景:当上游软件支持设置数据源连接后的初始化执行语句时,推荐使用此方案,如下图中Quick BI支持设置每次连接数据源后的初始化SET语句。

                 

如果采用这种方案,您无需在JDBC URL中指定delegation_uidaccount_type,仅需通过SET语句,设置本次连接的用户信息,支持两种SET语句:

  • set dp_delegation_uid = 'target_source_user_uid';
  • 通过用户在登录系统中的ID指定本次连接的用户,当上游系统和Dataphin都对接了公司的统一账号登录时,推荐使用,等同于在JDBC URL中设置account_type=SOURCE_USER_ID
  • set dp_delegation_name = 'target_account_name';
  • 通过Dataphin的账户名指定本次连接的用户当上游应用中用户名与Dataphin的账户名一致时,推荐使用,等同于在JDBC URL中设置account_type=ACCOUNT_NAME


举例:本地DBeaver通过代理模式连接Dataphin JDBC

为了更直观地展示SET语句的功能,采用本地数据库软件DBeaver连接Dataphin JDBC 作为演示:

  • Step 1:获取当前版本的Dataphin JDBC驱动和调用地址
  • 点击Dataphin内右上角 中“个人账号”;
  • 跳转后点击AccessKey管理,下载Dataphin JDBC的驱动包、复制OpenAPI的调用地址;
  • image.png
  • Step 2:在DBeaver中创建Dataphin JDBC驱动
  • 上传驱动文件
  • 类名:com.aliyun.dataphin.jdbc.DataphinDriver

  • Step 3:创建Dataphin JDBC数据源
  • 参考Dataphin JDBC 文档补充JDBC URL,采用SET语句设置代理用户时,无需指定delegation_uidaccount_type
  • 联系Dataphin运营同学获取平台级别的AccessKey ID和AccessKey Secret作为用户名和密码;

  • Step 4:设置单次连接的用户信息
  • set dp_delegation_name = 'SuperAdmin@dataphin';,通过Dataphin中的账号信息指定本次连接的用户,同时查询用户有权限的表数据;


  • set dp_delegation_uid = '2293723xxxxx';当前Dataphin实例对接了阿里云RAM作为登录系统,所以dp_delegation_uid取值为当前账号的RAM ID;


相关文章
|
存储 安全 算法
Dataphin核心功能(四)安全:基于数据权限分类分级和敏感数据保护,保障企业数据安全
《数据安全法》的发布,对企业的数据安全使用和管理提出了更高的要求。Dataphin提供基于数据分级分类和数据脱敏的敏感数据识别和保护能力,助力企业建立合规的数据安全体系,保障企业数据安全。本篇,我们就来聊聊Dataphin的数据安全能力。
|
6月前
|
测试技术 数据处理 调度
Dataphin功能Tips系列(57)「预览」vs「运行」:离线集成的神奇按钮
在数据开发过程中,使用Dataphin处理离线集成任务时,可能遇到数据过滤和字段计算组件配置正确性的验证问题。通过「预览」功能,可快速验证处理逻辑而不影响目标表;对于需要调度的任务,担心资源占用和耗时超出预期时,可使用「运行」功能进行全流程测试,评估实际耗时与资源消耗。「预览」适合逻辑验证,「运行」用于真实环境模拟,两者结合助力高效开发与调试。
156 5
|
6月前
|
SQL Java 关系型数据库
Dataphin功能Tips系列(53)-离线集成任务如何合理配置JVM资源
本文探讨了将MySQL数据同步至Hive时出现OOM问题的解决方案。
152 5
|
6月前
|
SQL 数据采集
Dataphin功能Tips系列(56)如何实现质量规则的批量修改
本文介绍了在Dataphin中针对Dataphin表和全域数据表的自定义SQL规则的批量修改的方法。
156 4
|
6月前
|
弹性计算 调度
Dataphin功能Tips系列(52)-调度资源组弹性伸缩
Dataphin支持通过自定义资源组实现弹性资源调配:设置资源上下限,允许资源组间相互“借用”空闲资源。当开发环境任务暂停时,其未使用的资源可被生产环境借用,确保资源高效利用,同时保障各环境资源需求。配置时只需明确开发与生产环境的资源上下限,并关联对应项目任务即可实现动态调整。
127 1
|
2月前
|
数据采集 调度
Dataphin功能Tips系列(74)质量规则调度配置系列(1)-数据更新触发调度
在数据生产中,数据质量直接影响业务准确性。Dataphin 提供“数据更新触发调度”功能,结合强规则校验,可在数据更新时自动检测质量,异常时阻断下游任务,防止脏数据扩散,保障数据准确性与流程稳定。
|
2月前
|
SQL 人工智能 搜索推荐
Dataphin功能Tips系列(71)X-数据管家:数据资产运营的「AI外挂」
在企业数据治理中,数据资产规模庞大、字段繁多,手动录入效率低且易出错。Dataphin推出「X-数据管家」,利用大模型智能生成标签、描述及字段类型等信息,支持一键批量上架,大幅提升资产运营效率。
|
3月前
|
BI 数据安全/隐私保护
Dataphin功能Tips系列(69)数据资产如何快捷对接Qucik BI进行分析消费
QuickBI与Dataphin集成,实现数据权限统一管理,简化用户从权限申请到仪表板创建的流程,提升数据消费效率,保障数据安全,加速数据价值转化。
129 8
|
4月前
|
SQL 数据可视化
Dataphin功能Tips系列(66)- 如何配置技术指标关系图
Dataphin通过可视化技术指标关系图,帮助业务人员快速理解指标加工逻辑。

热门文章

最新文章