数据湖构建—如何构建湖上统一的数据权限

背景信息

阿里云数据湖构建产品(DLF)提供的统一元数据服务,通过完善各种引擎/表格式生态解决了数据湖场景下多引擎面临的数据孤岛和元数据一致性问题,实现了开源大数据引擎及数据湖格式元数据的统一视图,避免了各引擎访问湖上数据其中额外的ETL成本并降低了业务处理链路的延时。但同时另一个问题随之产生即不同的引擎可能有不同的权限模型和用户模型,这导致在不同的引擎上用户和权限无法真正做到互通,如果能够在统一元数据的基础上实现集中式的权限校验,一次权限配置多引擎生效,实现引擎级的权限互通,将极大的提高湖上数据访问的安全性,同时将降低权限管理的复杂性。

实现数据湖统一权限服务方案的要点

因为不同的引擎/表格式在权限方案上/用户模型上存在着差异,例如在用户模型上EMR Hive/Spark 等开源引擎的用户模型可能是 LDAP,但阿里云的其他产品如MaxCompute、Holo 等是阿里云账号/RAM体系,又比如在权限方案上 EMR Hive/Spark/Presto 等或没有自己的安全体系或借助其他平台实现、特别是一些开源体系的表格式 Hudi/iceberg/delta 等目前完全没有权限控制,而在 Maxcompute/Holo 则有自己的一套权限控制体系,即使开源引擎都能够进行权限控制,但权限的数据、模型和权限校验的行为也根本不可能做到一致,所以在统一的元数据视图的基础上,实现统一的权限服务,需要解决四个重要问题

  • 不同引擎的用户体系互通问题
  • 实现不同引擎的不同的用户体系能够进行互转
  • 不同引擎的权限体系互通问题
  • 各引擎和格式使用同一套权限校验体系
  • 通过元数据 API 访问/引擎访问,鉴权一致性的问题
  • 元数据 API 访问也要使用同样的鉴权体系
  • 保持不同引擎能够在现有使用方式上
  • 在解决上述两个问题的基础上,能够保持现有用户使用方式、产生的元数据不变

数据湖构建之统一权限服务方案介绍

数据湖构建统一权限服务方案依托于数据湖统一元数据,是整个数据湖构建基础服务的一部分。整体方案一方面通过将不同引擎的用户体系映射至同一套用户体系来解决用户识别问题,另一方面通过将数据湖统一权限校验机制与开源体系的 EMR
hive/spark/Presto/Databricks 等引擎、数据湖格式 Hudi/Delta 等以及与 MaxCompute/Holo(进行中)等引擎集成来解决不同引擎权限数据一致性和互通问题,从而开源引擎访问湖上数据时有了统一的元数据视图及权限校验机制。

  • 开源引擎/数据湖格式代理鉴权机制

数据湖构建产品是采用类 Ranger Pugin 方案来支持引擎侧鉴权,其方式首先是通过将引擎访问的账号在RAM平台授予 AliyunDLFFullAccess 权限同时将引擎账号添加至 DLF 互信权限名单中(互信权限可通过 Setting API 添加),实现引擎与 DLF 元数据产品的互信,这样当各引擎接受到用户的请求时,这些 Plugin 将拦截该请求并可在引擎侧发起该用户的代理鉴权调用,同时在引擎侧将进行用户模型转换,例如在数据湖构建平台上使用阿里云账号/Ram子账号机制,在引擎侧将 LDAP 用户与云账号进行映射(可采用 LDAP 账号与 RAM 账号同名映射方式简化),鉴权请求在服务端鉴权之后,引擎将鉴权结果返回给用户,此种模式下用户需要具备元数据资源的访问权限即可,权限获取可以通过数据湖构建产品-数据权限页面进行授权获取。

引擎侧整体鉴权流程如下:

  • DLF 元数据访问鉴权机制

对于直接访问 DLF 元数据的用户将采用双层鉴权模型,亦即用户需要同时具备 DLF 元数据 API 访问权限(在 RAM 上配置)及元数据资源访问权限。前者需要在 Ram平台进行授权(如下图所示),后者跟引擎代理鉴权模式相同需要通过数据湖构建产品-数据权限页面进行授权获取。

在 Ram 访问控制平台上可选择用户添加权限,如果用户只读元数据可以授予 AliyunDLFReadOnlyAccess 权限。

元数据访问整体鉴权流程如下:

数据湖构建之统一权限服务实践

  • 前提条件
  • 已开通数据湖构建产品,目前统一权限服务已在所有数据湖构建产品所在region上线。
  • 已开通EMR 3.40/5.60及以上版本的集群,如已有其他低版本的EMR请提交工单联系阿里云工程师进行咨询解决。
  • 已开启数据湖权限服务端鉴权,可通过如下方式开通
  • 需提交工单联系阿里云工程师进行咨询解决
  • 通过Settings API(调用 Settings API 需要 DLF Ram Api "dlf:UpdateCatalogSettings"及 DLF admin 角色的权限)
  • 未来页面将开放 Settings 配置给用户自行配置

具体内容及操作步骤

  • 采用阿里云主账号对阿里云Ram子账号(也可对Ram角色)进行admin/super_administrator 角色授权,以进行分权管理。
  • 对其他业务阿里云 Ram 子账(Ram角色)在数据湖构建平台集中实施 database及 table 权限的管理
  • 对其他业务阿里云 Ram 子账(Ram 角色)通过角色在数据湖构建平台集中实施 database 及 table 权限的管理
  • 在数据湖构建平台、EMR引擎中分别访问有权限的表和没有权限的表
  • 数据湖构建平台提供丰富的权限 api 供应用产品集成,用户可以加入自己的权限申请、审批流程

1. 采用阿里云主账号对阿里云 Ram 子账号进行admin/super_administrator 角色授权,以进行分权管理。

导航至数据湖构建-数据权限-角色页面,点击右侧添加用户按钮,选择待授权的 RAM 子账号,点击确定,进行子账号 admin 角色授权,如图:

完成后,子账号 test1 将拥有 admin 角色权限,test1 将从 admin 角色获得所有资源的访问和授权权限。后续可以通过 test1账号进行其他账号权限的管理。

2.使用 test1 账号登录,对子账号直接授权

导航至数据湖构建-数据权限-数据授权页面,点击新增授权,对子账号 data 授权 db1 的 Describe、CreateTable 权限,并授予该 db1 下所有除 Drop 外的表权限,在授权页面选择 data 用户并完成如下授权

完成后,data 将具备上述权限。

3.使用test1账号登录,创建角色,对角色授权,并将角色授予用户

创建数据湖构建角色test,并将该角色授予给子账号 datamigrator,同时给角色test 授权 db1 的 Describe 权限,并授予该 db1 下所有除 Select 外的表权限

此时各账户具备如下权限:

账号

拥有角色

权限

test1

admin

拥有所有资源的访问和授权权限

data

拥有db1的 Describe、CreateTable、List拥有db1下所有表除 Drop 外的权限(默认拥有自己创建的表权限)

datamigrator

test

拥有db1的Describe、List权限拥有db1下所有表除Select外的权限

4.在数据湖平台上进行权限验证

在数据湖构建平台上使用 data 子账号访问相关元数据进行权限的验证,例如创建表,删除表,查询表.

1) 可正常创建表
test_create_table_from_data

2) 可正常删除自己创建的表
test_create_table_from_data

3) 删除其他用户创建的表 test_table,将报权限错误

4) 使用数据探索访问另一个db下的表,将报权限错误

5)用户可自行完成 datamigrator 权限的测试,此处不再过多演示。

5.在 EMR 集群进行权限的验证

1) 通过 Settings API(近期实现自动化),将EMR集群角色(可在 EMR 集群基础信息页面-ECS应用角色部分找到),添加为互信账号(修改之前通过 GetCatalogSettingsAPI 查看 Settings 内容,避免误修改):

{"Config": {"auth.super.principal": "acs:ram::[aliyunAccountId]:role/AliyunECSInstanceForEMRRole"}
}

2)在 EMR 集群上,选择 DLF-Auth 组件并按下图所示,启用 hive/Presto/Spark 的鉴权

3)对鉴权进行验证

使用 data 用户通过 beeline 访问 Hiveserver 执行元数据操作,用户可自行进行其他语句的测试

6.其他应用及平台与数据湖元数据/权限 API 集成

数据湖构建平台提供丰富的权限 API 供应用产品集成,用户可以加入自己的权限申请、审批流程权限 API 列表见链接, 用户可选择将元数据 API 及权限 API 集成至自有权限审批平台,以完成自己的业务诉求。

总结

目前权限能力陆续在生态上进行集成,能够满足一部分场景需求,但还有一些局限,比如授权操作仅 admin 角色可进行资源授权,基于此我们将在近期推出 Grantable 权限,届时可以将资源的 Grant 权限授予给其他角色和用户,进一步实现权限分治,降低管理压力。另外数据湖构建产品未来将继续在多引擎生态、数据安全上发力,让数据湖构建产品具备更完善的生态和企业级的特性!

原文链接

本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510750.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从阿里云容器攻防矩阵API安全生命周期,看如何构建金融安全云原生平台

【编者按】云原生技术正在助力银行通过差异化业务进行创新,却也带来了由于研发/运维人员对新架构不熟悉所导致的基础设施风险、业务风险及数据暴露风险。如何在飞速更迭的技术环境下保持业务持续发展,同时保证业务整体的安全性,满足不断增强的…

StarRocks X Flink CDC,打造端到端实时链路

实时数仓建设背景 实时数仓需求 随着互联网行业的飞速发展,企业业务种类变得越来越多,数据量也变得越来越大。以 Apache Hadoop 生态为核心的数据看板业务一般只能实现离线的业务。在部分领域,数据实时处理的能力已经成为限制企业数据变现的…

使用 Databricks+Mlflow 进行机器学习模型的训练和部署

ML工作流的痛点 机器学习工作流中存在诸多痛点: 首先,很难对机器学习的实验进行追踪。机器学习算法中有大量可配置参数,在做机器学习实验时,很难追踪到哪些参数、哪个版本的代码以及哪个版本的数据会产生特定的结果。其次&#x…

数字工业 弹性安全丨2022 Fortinet工业互联网安全发展峰会成功举办

随着数字化转型的持续推进,工业互联网的作用和地位日益加强。而 OT 安全作为工业互联网体系不可或缺的部分,虽然受到越来越多企业的关注,但仍然面临着多方面的挑战。11月16日,一年一度的 OT 安全盛会——2022 Fortinet工业互联网安…

团队管理|如何提高技术 Leader 的思考技巧?

技术Leader是一个对综合素质要求非常高的岗位,不仅要有解具体技术问题的架构能力,还要具备团队管理的能力,更需要引领方向带领团队/平台穿越迷茫进阶到下一个境界的能力。所以通常来说技术Leader的技能是虚实结合的居多,繁杂的工作…

关于 Data Lake 的概念、架构与应用场景介绍

数据湖(Data Lake)概念介绍 什么是数据湖(Data Lake)? 数据湖的起源,应该追溯到2010年10月,由 Pentaho 的创始人兼 CTO, James Dixon 所提出,他提出的目的就当时历史背景来看,其实…

蚂蚁链牵头两项区块链国际标准在ITU成功立项

近日,国际电信联盟第十六研究组(简称ITU-T SG16)召开全体会议。会上,由蚂蚁链牵头的两项区块链国际标准获得立项通过。包括: ITU-T H.DLT-SCLMR “Smart contract lifecycle management requirements for distributed…

使用 Databricks 进行营销效果归因分析的应用实践

本文介绍如何使用Databricks进行广告效果归因分析,完成一站式的部署机器学习,包括数据ETL、数据校验、模型训练/评测/应用等全流程。 内容要点: 在当下的信息化时代,用户每天都会收到媒体投放的广告信息,如何做到精准…

5年磨一剑|优酷Android包瘦身治理思路全解

稳定性、性能、包大小,在移动端基础用户体验领域“三分天下”,是app承载业务获得稳定、高效、低成本、快速增长的重要基石。其中,包大小对下载转化率、拉新拉活成本等方面的影响至关重要,这在业界已经成为共识,近年来头…

2022年“移动云杯”算力网络应用创新大赛圆满落幕,百万大奖揭晓!

11 月 17-18 日,2022 年移动云开发者技术论坛暨“移动云杯”算力网络应用创新大赛总决赛在苏州举行。活动现场公布了 2022 年“移动云杯”算力网络应用创新大赛总决赛获奖名单。同时重磅发布了移动云 openAPI 2.0、首届移动云量子计算大赛。 三大赛道齐发力&#xf…

代码注释的艺术,优秀代码真的不需要注释吗?

前言 前天回家路上,有辆车强行插到前面的空位,司机大哥吐槽“加塞最可恶了”,我问“还有更可恶的吗”,司机大哥淡定说道“不让自己加塞的”。似乎和我们很类似,我们程序员届也有这2件相辅相成的事:最讨厌别…

DataProcess-VOC数据图像和标签一起进行Resize

VOC数据图像和标签一起进行Resize 参加检测比赛的时候,很多时候工业原始数据尺度都比较大,如果对数据不提前进行处理,会导致数据在加载进内存时花费大量的时间,所以在执行训练程序之前需要将图像提前进行预处理。对于目标检测的数…

元宇宙持续升温,金蝶推出数字员工破圈而来

作者 | 伍杏玲 “金小蝶,请分析今年企业销售事业部的业绩”。 话音刚落,大屏幕展开一张张账务报表,一位身着西装,举止大方得体的数字人条理清晰地回复:“截至今年10月,企业销售事业部在签单金额、新签收入…

阿里云易立:云原生如何破解企业降本提效难题?

2020年以来,新冠疫情改变了全球经济的运行与人们的生活。数字化的生产与生活方式成为后疫情时代的新常态。今天,云计算已经成为全社会的数字经济基础设施,而云原生技术正在深刻地改变企业上云和用云的方式。如何利用云原生技术帮助企业实现降…

Alibaba/IOC-golang 正式开源 ——打造服务于go开发者的IOC框架

IOC(inversion of control)即控制反转,是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。IOC-golang 是一款服务于Go语言开发者的依赖注入框架,基于控制反转思路,方便开发人员搭建任何…

开启安全测试评估赛道,永信至诚发布“数字风洞”产品体系

11月19日,永信至诚产品战略发布会上,面向安全测试评估领域的“数字风洞”产品体系战略发布,标志着永信至诚作为网络靶场和人才建设领军企业,再次以“产品乘服务”的价值体系,开启网络安全测试评估专业赛道。 数字化时代…

云上弹性高性能计算,支持生命科学产业高速发展、降本增效

随着云计算技术服务及实践的日趋成熟,越来越多的行业通过上云实现了整个产业的转型升级,正处于黄金时期的生命科学行业也不例外。 作为拥有高数据量和高计算量的行业,生命科学的研究也早已离不开高性能计算(High Performance Comp…

为什么生命科学企业都在陆续上云?

生命科学行业正迎来发展的黄金时期。医学的发展和人们对健康的追求,正快速转换为生命科学整个产业链发展的新动能,高性能计算HPC在生命科学研究中扮演着十分重要的角色。同时,随着生命科学行业的快速发展,我们可以看到&#xff0c…

VMware Explore 2022 China,赋能中国企业加速实现云智能

全球领先的企业软件创新者VMware(NYSE: VMW)的年度技术盛会—— VMware Explore 2022 China于11月8日正式举行。本届大会以“探索多云宇宙”为主题,汇聚云计算领域的顶尖技术专家和创新者,通过150多场解决方案演讲、围绕云基础架构…

政企混合云技术架构的演进和发展

云计算经历十几年的发展,从被认为是“新瓶装旧洒”受到很多怀疑,到在消费互联网领域得到广泛应用,再到传统政企客户普遍认同,并在政务互联网业务领域快速推广,当下已进入到全面替换政企客户传统IT基础架构的攻坚阶段。…