EasyMR 安全架构揭秘:如何管理 Hadoop 数据安全
2017年,美国信用评级机构 Equifax 遭受黑客攻击,导致1.4亿个人的敏感信息泄露;
2020年,发生了 SolarWinds 公司的软件供应链遭受恶意代码攻击事件,涉及多个行业和国家;
2022年,网信办依据《数据安全法》等法律法规,对滴滴公司开出人民币80.26亿元的巨额罚款,对互联网企业敲响数据安全警钟。
近年来,数据安全正在快速成为当今信息化时代一个备受关注的话题。在数字化快速发展的今天,各个领域都离不开数据的支撑,而数据安全问题也随之成为了一项重要的任务。企业、政府、学术机构等各种组织和个人都需要保护自己的数据免于泄露、丢失、篡改或被滥用等风险。
Hadoop 作为进入大数据领域的必备技术,由于自身的业务特点,一般都是部署在用户内网中,所以在早期设计的时候不是太注重安全方面的设计,而更多的专注于实现业务的功能。
作为领先的数字化基础软件与应用服务商袋鼠云,一直以来也高度重视数据安全问题,2022年12月,在自研的大数据计算引擎 EasyMR 上新增了一站式大数据应用安全防控以及数据权限管控能力。
基于此,EasyMR 可以实现一键部署安全管控服务,一键开启大数据集群组件的安全认证、用户管理以及权限管控服务。
本文就为大家展开介绍一下 EasyMR 具体是如何管理 Hadoop 数据安全的。
Hadoop 的安全问题
最早部署 Hadoop 集群时并没有考虑安全问题,未开启安全认证时,Hadoop 是以客户端提供的用户名作为用户凭证, 一般就是发起任务的 Unix 用户。线上机器部署服务通常会采用统一账号,当以统一账号部署集群时,所有执行 Hadoop 任务的用户都是集群的超级管理员,非常容易发生误操作。
即便是以管理员账号部署集群,恶意用户在客户端仍然可以冒充管理员账号执行。随着集群的不断扩大, 各部门对集群的使用需求增加,集群安全问题就显得颇为重要。Hadoop 的安全问题,一般包括以下两个方面:
· 用户认证(Authentication) 即是对用户身份进行核对, 确认用户是其声明的身份, 这里包括用户和服务的认证。
· 用户授权(Authorization) 即是权限控制,对特定资源,特定访问用户进行授权或拒绝访问,用户授权是建立在用户认证的基础上, 没有可靠的用户认证谈不上用户授权。
EasyMR 如何接管 Hadoop 安全
EasyMR Hadoop 的安全认证是基于 Kerberos 实现的,集成 LDAP 用户体系。 Kerberos 是一个网络身份验证协议,用户只需输入身份验证信息,验证通过获取票据即可访问多个接入 Kerberos 的服务,机器的单点登录也可以基于此协议完成。
Hadoop 本身并不创建用户账号,而是使用 Kerberos 协议来进行用户身份验证,从 Kerberos 凭证中的用户信息获取用户账号, 这样一来就跟实际用户运行的账号无关。
EasyMR 接管 Hadoop 安全主要使用以下两种账号管理方式:
集群账号管理
原先我们使用单一账号作为集群管理员,且这一账号为线上统一登录账号, 这存在极大的安全隐患,我们需要使用特殊账号来管理集群。这里涉及的问题是,我们需要几个运维账号呢? 一种简单的做法是使用一个特殊运维账号, CDH 和 Apache官方也都推荐按服务划分账号来启动集群。
考虑到精细化控制可以有效避免误操作,EasyMR 遵循官方的建议使用多账号,使用 Hadoop 作为同一用户组,每个组件使用单独的用户。如果是从单一运维账号迁移到多个账号部署时,则需要考虑相关文件权限问题,包括本地以及 HDFS 两部分,可以在安全部署上线时完成相应改动。
EasyMR 组件服务运行的用户信息可以配置在产品包服务层级下,下图以服务 hdfs_namenode 为例:
用户账号管理
考虑到每个团队下会有不同的小组,每个小组都有使用 Hadoop 来进行大数据处理需求,所以需要一定程度的多租户环境, 这里主要考虑其中的数据和操作的权限问题,EasyMR 集成了 LdapServer 目录服务系统,其功能优势具体体现如下:
• LdapServer 能够减少用户账户管理人员在面对用户数量大、增长快等问题的情况下对账号的创建、回收、权限管理、安全审计等一系列复杂而繁琐工作的压力。
• LdapServer 能够解决多层次、多类型系统、数据库的安全访问难题,所有与账号相关的管理策略均配置在服务端,实现了账号的集中维护和管理。
• LdapServer 能够充分继承和利用平台组织中现有的账户管理系统的身份认证功能,并实现了账户管理与访问控制管理的分离,提高了大数据平台访问认证的安全性。
EasyMR 如何部署 Hadoop 安全
EasyMR 可以支持 Hadoop,Hive,Spark,Ranger 组件开启Kerberos功能,每个组件的开启操作基本一致。下面以开启Hadoop Kerberos 功能为例为大家介绍EasyMR 具体是如何部署 Hadoop 安全的。
准备产品包
安装产品包
● 安装 zookeeper、openldap、kdc、Hadoop 服务
以安装 Hadoop 服务为例,选中需要安装的服务,点击下一步;
指定每个服务需要部署的节点,点击执行部署;
部署完成后,可以在节点检查目录的权限及组件的启动用户。
开启 Kerberos 安全
部署完服务后,需要按照 Kerberos 开启顺序依次开启。
● zookeeper 开关
首先在服务页面,选择 zookeeper 服务,在部署配置里面找到 Switch 开关项,切换开关状态,等待开关开启结果。
● Hadoop 开关
在服务页面,选择 hadoop pkg 服务,在部署配置里面找到 Switch 开关项,切换开关状态,等待开关开启结果,开启成功后,hadoop Kerberos 功能就成功启用了。
应用授权
授权一般来说是由应用来决定的,通过在 LDAP 数据库中配置一些属性可以让应用程序来进行授权判断。EasyMR 在部署完 LdapServer 后,平台管理里面将会自动关联 LdapServer 的连接信息,用户只需选中对应的 LdapServer 连接,在对应的用户下点击下载票据即可。
《数据治理行业实践白皮书》下载地址:https://fs80.cn/380a4b
想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szkyzg
同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术qun」,交流最新开源技术信息,qun号码:30537511,项目地址:https://github.com/DTStack

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
携手NVIDIA等40余家国内外伙伴,飞桨硬件生态狂飙
深度学习框架与 AI 硬件厂商,相辅相成、共同发展。百度飞桨与 NVIDIA 等 40 多家硬件伙伴正在践行这一理念。 备受关注的 NVIDIA GTC 2023 大会已经结束,NVIDIA CEO 黄仁勋依然给所有人带来了震撼,搬出了为 ChatGPT 准备的芯片,向世人展示了 GPU 持续在算力上赋能大模型乃至整个深度学习领域的巨大潜力。 大会期间,黄仁勋还与 OpenAI 联合创始人、首席科学家 Ilya Sutskever 进行了一场深度对话,他们一致认为深度学习的强大能力已经改变了世界,真正推动了技术的进步。 的确,近年来,深度学习技术正在推动整个 AI 行业进入到一个全新的阶段。AI 领域的技术创新和产业发展离不开深度学习框架和平台,它联动了 AI 产业链上下游众多企业和用户,通过持续降低应用门槛将 AI 技术传递给千行百业,推动 AI 应用大规模落地。 作为国内 AI 领头雁的百度,其飞桨产业级深度学习开源开放平台集核心框架、产业级模型库、开发套件与工具组件于一体,其中百度生成式 AI 产品文心一言正是孕育自产业级知识增强大模型文心。截止 2022 年 11 月,飞桨已经...
- 下一篇
6步带你用Spring Boot开发出商城高并发秒杀系统
摘要:本博客将介绍如何使用 Spring Boot 实现一个简单的商城秒杀系统,并通过使用 Redis 和 MySQL 来增强其性能和可靠性。 本文分享自华为云社区《Spring Boot实现商城高并发秒杀案例》,作者:林欣。 随着经济的发展和人们消费观念的转变,电子商务逐渐成为人们购物的主要方式之一。高并发是电子商务网站面临的一个重要挑战。本博客将介绍如何使用 Spring Boot 实现一个简单的商城秒杀系统,并通过使用 Redis 和 MySQL 来增强其性能和可靠性。 准备工作 在开始之前,您需要准备以下工具和环境: JDK 1.8 或更高版本 Redis MySQL MyBatis 实现步骤 步骤一:创建数据库 首先,我们需要创建一个数据库来存储商品信息、订单信息和秒杀活动信息。在这里,我们使用 MySQL 数据库,创建一个名为 shop 的数据库,并建立三个表 goods、order 和 seckill。 表 goods 存储了所有的商品信息,包括商品编号、名称、描述、价格和库存数量等等。 CREATE TABLE `goods` ( `id` int(11) NOT N...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- Linux系统CentOS6、CentOS7手动修改IP地址
- 2048小游戏-低调大师作品
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案