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. ATT&CK实战系列(三)红日靶场3

    本次打靶练习是一个黑盒测试.没有密码,我们的目标是拿到域控制器的权限,并找到其中的重要文件. 网络拓扑 网卡设置 centos为出网机,第一次运行,需重新获取桥接模式网卡ip. 需重启网络服务serv ...

  2. CompletableFuture原理及应用场景详解

    1.应用场景 现在我们打开各个APP上的一个页面,可能就需要涉及后端几十个服务的API调用,比如某宝.某个外卖APP上,下面是某个外卖APP的首页.首页上的页面展示会关联很多服务的API调用,如果使用 ...

  3. Linux 离线升级 RSYNC

    前言:本文操作是在 CentOS-7 下执行的,不确定在其他 Linux 发布版是否能同样正常执行. 1.检查前置依赖组件 在安装 rsync 之前,需要确认已安装了相关依赖组件: gcc .open ...

  4. 二叉树 (王道数据结构 C语言版)

    2004.11.04 计算一颗给定二叉树的所有双分支节点个数 编写把一个树的所有左右子树进行交换的函数 求先序遍历中第k个结点的值 (1 <= k <= 二叉树中的结点个数) #inclu ...

  5. rabbitmq防止消息的重复消费

    一.rabbitmq出现消息重复的场景 A:消息消费成功,事务已经提交,ack时,机器宕机,导致没有ack成功, Broker的消息重新由unack变为ready,并发送给其他消费者 B:消息消费失败 ...

  6. springAPI对事物支持之XML式配置

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerData ...

  7. 依赖注入的方式( 构造函数注入 、 set 方法注入 、注解注入)

    一.构造函数注入 二.set方式注入 三.集合注入

  8. zookeeper选主测试

    Zookeeper 会维护一个具有层次关系的数据结构,它非常类似于一个标准的文件系统 zookeeper基于目录监听机制来选主,多个客户端节点都可以来对zookeeper上某个目录节点进行监听和注册, ...

  9. DOC,PDF,PPT文件转换为HTML代码记录

    pom文件引入 <repositories> <repository> <id>com.e-iceblue</id> <url>http:/ ...

  10. 单元测试(一)——xUnit

    一.为什么要做单元测试 可以频繁测试 比人工测试要快 测试代码和人工代码紧密结合 测试结果非常可靠 更容易更快发现错误 二.测试坐标图 一般开发会做单元测试和集成测试 三.测试分成三个阶段 四.Xun ...