前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >大数据平台数据权限管理设计

大数据平台数据权限管理设计

作者头像
全栈程序员站长
发布于 2022-09-02 03:29:23
发布于 2022-09-02 03:29:23
2K0
举报

大家好,又见面了,我是你们的朋友全栈君。

背景和范围

当前大数据团队没有一个统一的操作权限控制和管理平台,对于分析师在服务器上的权限,目前都是给予对应分析节点的EC2机器账号,且为了方便操作和管理都是给予的管理员权限,因此安全性风险较大;对于数据开发者,主要通过分配IAM控制AWS的操作权限;对于team的所有人都是通过分配aws的ak,sk在本地进行操作赋权;随着数据平台的不断的丰富和完善,需要在各组件之上做认证,鉴权和审计等管理,数据权限管理平台主要是为了统一所有人的操作权限而设计。开源权限组件apache ranger和apache sentry存在以下问题:

  • 如在命令行中或脚本中,使用export HADOOP_USER_NAME=hadoop方式或使用对应java api方式传入hadoop用户,执行hadoop相应命令,则会绕过所有权限检查
  • 不支持spark sql访问hive表权限校验,只能控制到目录文件级别
  • 无法精细粒度控制表权限,如对特殊表的下载权限

综上,数据平台团队准备自研数据权限管理系统。

目标

  • 采用公共模块或者公共配置文件去做用户权限管理,对服务器的账号权限及开源组件的自带账号权限服务解耦
  • 每个组使用不同的账号进行查询集群的数据(表和文件),所有人都通过公司内部统一账号平台office365使用
  • 所有查询集群数据的用户账号都需要经过权限管理模块验证,无权限的操作应该给予提示信息。
  • 根据各组的职责限定该部门的人员使用的账号只能查询归属于该组的数据。

非目标(可选)

  • 操作日志审计功能(有额外独立的日志系统会对大数据平台所有操作做审计)
  • 鉴权sdk(独立的服务)
  • 认证(采用公司内部的office365作为统一登录入口)
  • 对系统的菜单操作的功能权限不涉及,只专注数据权限
  • 数据侧的api未来可能作为一个候选权限管理加入

概要设计

整体结构

模块交互

管理后台从云端获取使用管理后台的user接口得到所有使用系统的用户列表

在管理后台里对用户列表中指定的用户进行授权,在授权的过程中,把用户的email,name信息同步到数据侧RDS,并保存权限关系到数据侧的RDS中,保存成功后,直接刷新数据侧的鉴权API使用的内存缓存

其他平台:如数据集成,数据调度,执行引擎,数据查询,元数据等系统涉及到的资源都只会依赖数据权限管理系统里的权限,不受其他约束

执行引擎先查询该用户提交的任务里的资源是否拥有权限,如果有,则检查权限是否符合期望,如果符合,则执行其他操作,会进一步将权限更新到权限配置里,如用户拥有db的create权限,则该用户在此db下新建的表,默认对该用户有all的权限,对该用户所在的组内其他人仅有read权限

用户能够在以上平台内操作,当前仅当用户拥有了至少一项权限,否则对不同操作类型,仅有默认以下权限:

db:展示当前所有database名称的权限

table:展示当前所有database的不同database下的所有table名称权限

path:展示当前所有的bucket名称权限

详细设计

实体模型

考虑到鉴权是一个高频操作,而赋权是一个低频操作,因此尽可能的减少表关联,所以使用了简化的RBAC模式

user表里的admin是数据平台系统级别,拥有admin权限的用户将不需要任何验证,对资源具有所有管理权,所有权限邮件审批都会给admin发邮件

user_group_user的group_admin是group级别(group可以没有group_admin),只对该group管理的资源有权限管理,该组的权限邮件的审批会给group_admin和admin同时发邮件,且group_admin具备审批资格

ttl主要是为了对权限做过期时间用的,常用场景是下载表数据场景,可通过ttl控制

权限表里的权限对于资源的定义如下:

数据存储

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138659.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月3,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
有赞大数据平台安全建设实践
在大数据平台建设初期,安全也许并不是被重点关注的一环。大数据平台的定位主要是服务数据开发人员,提高数据开发效率,提供便捷的开发流程,有效支持数仓建设。大数据平台的用户都是公司内部人员。数据本身的安全性已经由公司层面的网络及物理机房的隔离来得到保证。那么数据平台建设过程中,需要考虑哪些安全性方面的问题?
Fayson
2019/11/28
2K0
漫谈大数据平台安全风险与建设
上篇文章《漫谈大数据平台架构》(阅读原文查看)大家应该对大数据平台有了一个整体架构上的理解和认识,作为姊妹篇,本篇着重讲解大数据平台安全风险与建设。
FB客服
2019/12/31
2.4K0
漫谈大数据平台安全风险与建设
哔哩哔哩大数据平台建设之路—数据安全篇
Berserker是B站一站式数据开发及治理平台,基于常用大数据生态组件构建,满足公司内数据查询、数据分析、日常报表、数据集成、数据开发、实时计算和数据治理等各种业务场景。在B站,我们一般将Berserker简写为BSK。
从大数据到人工智能
2023/03/13
1.8K0
哔哩哔哩大数据平台建设之路—数据安全篇
2018-08-06 数据权限管理权限管理的目标是什么?安全与便利的矛盾,有解么?总结常见开源方案基于开发平台服务入口的权限管控思路
https://blog.csdn.net/colorant/article/details/78672404
Albert陈凯
2018/08/15
1.8K0
数据产品权限管理设计原则(一)
数据产品除了页面、功能权限外,还要多一层数据的权限,权限粒度经常会到指标和维度,比如针对销售人员设计的销售业绩统计报表,系统层面会把不同销售的数据在一个页面内展示,通过权限管理来控制能看到负责区域或者商家的数据,这个时候,对于同一个交易额的指标,就要控制到省份/城市,或者销售人员维度。同样,不同用户群体能够看到的指标可能也是不一样的,比如管理层要看到能够衡量业务整体表现情况的流量、订单、成本、服务等各个视角的指标,而某一具体的业务人员,如客服,原则上只应看到服务相关的指标。
数据干饭人
2022/07/01
2.1K0
数据产品权限管理设计原则(一)
政采云大数据权限系统设计和实现
权限管控是一个应用系统最重要的基础能力之一,通常权限可以分为功能权限和数据权限,功能权限主要用来控制用户可以执行的操作,即用户可以做什么;数据权限则控制用户可以操作的对象范围,这里的对象指业务数据,数据权限进一步细化还可以分为行级权限和字段级权限,如控制用户可以查询本部门的数据,而不能查看其他部门数据,或者只能查看一条业务数据的部分字段信息。我们接触的数据权限通常是指对某一个应用系统内部的业务数据进行管控,这些业务数据由用户的行为活动产生,如一个交易应用中的交易数据,通常用户只能查看到自己的交易记录,这就是最基本、最常见的数据权限管控策略。大数据权限系统需要管控的数据范围要大的多,包含了数据仓库中的所有表,同时管控的用户也并非普通的应用系统用户(产生数据的用户),而是数据开发人员、数据分析人员等(使用数据的用户)。本文将着重介绍政采云大数据权限系统的数据权限管控。
政采云前端团队
2024/01/23
8780
政采云大数据权限系统设计和实现
统一身份管理中的权限管理设计
权限集中管理是统一身份管理关注的主要内容之一,由于企业应用建设的自身历程不同,权限设计与实现也必然存在差异,针对集中权限管理的设计和实现带来了不小的挑战,本文根据多年的实践经验,就统一身份管理的集中权限管理的设计与实现给予设计建议。
嘉为蓝鲸
2019/04/24
2.7K0
统一身份管理中的权限管理设计
大数据平台之权限管理组件 - Aapche Ranger
Apache Ranger提供一个集中式安全管理框架, 并解决授权和审计。它可以对Hadoop生态的组件如HDFS、Yarn、Hive、Hbase等进行细粒度的数据访问控制。通过操作Ranger控制台,管理员可以轻松的通过配置策略来控制用户访问权限。Ranger优点:
端碗吹水
2020/11/13
5.5K4
大数据平台之权限管理组件 - Aapche Ranger
xwiki管理指南-访问权限
从XWiki 5.0版本开始,我们使用新的安全模块。虽然与之前的权限几乎兼容,但是还是有一些细微的差别。要获得最准确的信息,请查看安全模块的文档。
lovelife110
2021/01/14
2.2K0
xwiki管理指南-访问权限
OA系统权限管理设计
任何系统都离不开权限的管理,有一个好的权限管理模块,不仅使我们的系统操作自如,管理方便,也为系统添加亮点。
星哥玩云
2022/06/30
2.4K0
OA系统权限管理设计
大数据权限与安全
权限的管控,历来是大数据平台中最让人头疼的问题之一。管得严了,业务不流畅,用户不开心,放得宽了,安全没有底,你能放心?而且大数据平台组件,服务众多;架构,流程复杂,有时候,就是你想管,也未必能管得起来。
sparkle123
2018/12/05
3.6K0
如何设计一个通用的权限管理系统
一个系统,如果没有安全控制,是十分危险的,一般安全控制包括身份认证和权限管理。用户访问时,首先需要查看此用户是否是合法用户,然后检查此用户可以对那些资源进行何种操作,最终做到安全访问。
JAVA葵花宝典
2020/11/20
1.6K0
如何设计一个通用的权限管理系统
MySQL权限管理大揭秘:用户、组、权限解析
在数据库的世界里,就像是一座宝库,拥有无数珍贵的数据财富。然而,要保护这座宝库,就需要一把坚固的大门和一套严密的钥匙。而MySQL的权限管理系统,就像是这座宝库的大门和钥匙,它能够帮助我们控制谁能够进入这座宝库,以及谁能够获取其中的宝藏。现在,就让我们一起来揭开MySQL权限管理的神秘面纱,探索它的魅力所在吧!
一只牛博
2025/05/30
830
MySQL权限管理大揭秘:用户、组、权限解析
Hive数据仓库之权限管理
延续数据仓库之Hive快速入门 - 离线&实时数仓架构一文,本文将介绍一下Hadoop/Hive自带的权限控制,权限控制是大数据平台非常重要的一部分,关乎数据安全。
端碗吹水
2020/11/12
4K0
Flask权限管理
权限管理是一个很常见的功能模块,本文基于RBAC模型针对于多用户,多角色,多权限的场景,介绍一种Flask权限管理方案。
oYabea
2020/09/07
1.7K0
传统大数据平台如何进行云原生化改造
作者 | 宋文欣   以 Hadoop 为中心的大数据生态系统从 2006 年开源以来,一直是大部分公司构建大数据平台的选择,但这种传统选择随着人们的深入使用,出现的问题也越来越多,比如:数据开发迭代速度不够快、集群资源利用效率过低、新的开发工具集成非常复杂等。这些问题已经成为困扰企业数字化转型加速迭代和升级的主要障碍。 而传统大数据平台通常是以 Hadoop 为中心的大数据生态技术。一个 Hadoop 集群包含 HDFS 分布式文件系统和以 Yarn 为调度系统的 MapReduce 计算框架。围绕 H
深度学习与Python
2023/03/29
1.1K0
传统大数据平台如何进行云原生化改造
【K8S专栏】Kubernetes权限管理
Kubernetes 主要通过 API Server 对外提供服务,对于这样的系统来说,如果不加以安全限制,那么可能导致请求被滥用,甚至导致整个集群崩塌。
没有故事的陈师傅
2022/09/15
1K0
【K8S专栏】Kubernetes权限管理
Kubernetes之RBAC权限管理
基于角色的权限控制。通过角色关联用户、角色关联权限的方式间接赋予用户权限。 在 Kubernetes 中,RBAC 是通过 rbac.authorization.k8s.io API Group 实现的,即允许集群管理员通过 Kubernetes API 动态配置策略。
聂伟星
2020/08/23
5.7K0
Shiro权限管理详解
1 权限管理 1.1 什么是权限管理 基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。 权限管理包括用户身份认证和授权两部分,简称认证授权。对于需要访问控制的资源用户首先经过身份认证,认证通过后用户具有该资源的访问权限方可访问。 1.2 用户身份认证 1.2.1 概念 身份认证,就是判断一个用户是否为合法用户的处理过程。最常用的简单身份认证方式是系统通过核对用户输入的用户名和口令,
Java帮帮
2018/03/15
6.6K0
Shiro权限管理详解
Apache Doris权限管理
Doris 新的权限管理系统参照了 Mysql 的权限管理机制,做到了行级别细粒度的权限控制,基于角色的权限访问控制,并且支持白名单机制。
AiDBA宝典
2023/10/25
1.2K0
Apache Doris权限管理
推荐阅读
相关推荐
有赞大数据平台安全建设实践
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档