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=szbky

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术qun」,交流最新开源技术信息,qun号码:30537511,项目地址:https://github.com/DTStack

EasyMR 安全架构揭秘:如何管理 Hadoop 数据安全的更多相关文章

  1. 使用Cloudera部署,管理Hadoop集群

    Hadoop系列之(三):使用Cloudera部署,管理Hadoop集群 http://www.cnblogs.com/ee900222/p/hadoop_3.html Hadoop系列之(一):Ha ...

  2. Rainbond v5.1.2发布,微服务架构应用便捷管理和交付

    Rainbond v5.1.2发布,微服务架构应用便捷管理和交付 Rainbond是开源的企业应用云操作系统,支撑企业应用的开发.架构.交付和运维的全流程,通过无侵入架构,无缝衔接各类企业应用,底层资 ...

  3. Hadoop系列之(三):使用Cloudera部署,管理Hadoop集群

    1. Cloudera介绍 Hadoop是一个开源项目,Cloudera对Hadoop进行了商业化,简化了安装过程,并对hadoop做了一些封装. 根据使用的需要,Hadoop集群要安装很多的组件,一 ...

  4. 【Hadoop】Apache Eagle 简介--分布式实时 Hadoop 数据安全方案

    eBay公司隆重宣布正式向开源业界推出分布式实时安全监控引方案 - Apache Eagle ,该项目已正式加入Apache 称为孵化器项目.Apache Eagle提供一套高效分布式的流式策略引擎, ...

  5. SaltStack 是一个服务器基础架构集中化管理平台

    SaltStack详细部署   一.基础介绍============================================================================== ...

  6. 新零售SaaS架构:组织管理的底层逻辑与架构设计

    想要深入理解零售企业的组织架构,是非常困难的一件事.因为大部分人都没有实际经营过一家零售企业,更没有参与设计过零售企业的组织架构. 调研商家时,我们只能了解商家组织架构的现状,我们也很难和企业高层直接 ...

  7. 大数据架构师基础:hadoop家族,Cloudera产品系列等各种技术

    大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来.为了能够更好的架构大数据项目,这里整理一下,供技术人员,项目经理,架构师选 ...

  8. 【架构】基于Nutch+Hadoop+Hbase+ElasticSearch的网络爬虫及搜索引擎

    网络爬虫架构在Nutch+Hadoop之上,是一个典型的分布式离线批量处理架构,有非常优异的吞吐量和抓取性能并提供了大量的配置定制选项.由于网络爬虫只负责网络资源的抓取,所以,需要一个分布式搜索引擎, ...

  9. 使用Apache Ambari管理Hadoop

    随着Hadoop越来越普及,对合适的管理平台的需求成为当前亟待解决的问题.已经有几个商业性的Hadoop管理平台,如Cloudera Enterprise Manager,但Apache Ambari ...

  10. tomcat架构分析 (Session管理)

    Session管理是JavaEE容器比较重要的一部分,在app中也经常会用到.在开发app时,我们只是获取一个session,然后向session中存取数据,然后再销毁session.那么如何产生se ...

随机推荐

  1. C#/.NET/.NET Core技术前沿周刊 | 第 31 期(2025年3.17-3.23)

    前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...

  2. MYSQL架构介绍

    专栏持续更新中- 本专栏针对的是掌握MySQL基本操作后想要对其有深入了解并且有高性能追求的读者. 第一篇文章主要是对MySQL架构的主要概括,让读者脑海中有个对MySQL大体轮廓,很多地方没有展开细 ...

  3. LeetCode1464. 数组中两元素的最大乘积-JAVA

    题目 给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值.请你计算并返回该式的最大值. 示例 1: 输入:nums = ...

  4. STM8S003驱动TM1650偶发性故障

    故障现象:STM8S003驱动TM1650数码管显示,偶发TM1650无法初始化造成数码管点不亮. 已经在程序中对TM1650初始化之前加上了延时,但是问题并未改善. 之前发生过类似情况,STM8S0 ...

  5. Echarts服务端渲染以及客户端懒加载实现方案

    为了提升首屏的加载速度,考虑先用服务端渲染快速输出首屏图表,然后等待 echarts.js 加载完后,通过注水操作(Hydration),重新在客户端渲染同样的图表 tips:在客户端渲染的时候,应开 ...

  6. Eclipse 中 JAVA AWT相关包不提示问题(解决)

    原因: 由于在2021年7月15日 OpenJDK管理委员会全票通过批准成立由Phil Race担任初始负责人的 Client Libraries Group(客户端类库工作组). 新的工作组将继续赞 ...

  7. 使用 Go-Spring 构建最小 Web API

    前言 Go 语言以简单著称,一个很明显的例子就是只需要很少的代码即可实现一个最小的 Web API .Go-Spring 融合了 Go 简单和 Spring 自动配置的优点.本文通过几个实现最小 We ...

  8. 【记录】PC端QQ空间爬虫常用接口API(随缘更新ing)

    首先是官方的文档:https://wiki.connect.qq.com/api列表. 其次是自己f12找的,每次都要找挺麻烦的不如记下来.记录日期:2022/08/16,如之后功能有更改或API更换 ...

  9. [随记]-linux侦听端口的4种方法

    侦听 192.168.0.1 服务器上的 10086 端口是否打开 1. telnet telnet是windows 内置的功能,当然 linux 也有.用法:  tenlet 192.168.0.1 ...

  10. 一文掌握 Ubuntu 全场景扩容操作

    此文章为搬运,原作者链接 一文掌握 Ubuntu 全场景扩容操作 - 南北东西万里程的文章 - 知乎https://zhuanlan.zhihu.com/p/707918020 为 ubuntu扩容, ...