EasyMR如何为服务开启Kerberos

news2024/11/15 19:26:47

作者:雅泽

一、Hadoop为什么需要安全

最早部署Hadoop集群时并没有考虑安全问题,未开启安全认证时,Hadoop 是以客户端提供的用户名作为用户凭证, 一般即是发起任务的Unix 用户。一般线上机器部署服务会采用统一账号,当以统一账号部署集群时,所有执行 Hadoop 任务的用户都是集群的超级管理员,容易发生误操作。即便是以管理员账号部署集群,恶意用户在客户端仍然可以冒充管理员账号执行。随着集群的不断扩大, 各部门对集群的使用需求增加,集群安全问题就显得颇为重要。说到安全问题,一般包括如下方面:

用户认证(Authentication) 即是对用户身份进行核对, 确认用户即是其声明的身份, 这里包括用户和服务的认证。

用户授权(Authorization) 即是权限控制,对特定资源, 特定访问用户进行授权或拒绝访问。用户授权是建立再用户认证的基础上, 没有可靠的用户认证谈不上用户授权。

二、EMR是如何接管Hadoop安全

EMR Hadoop 的安全认证是基于 Kerberos 实现的,集成LDAP用户体系。 Kerberos 是一个网络身份验证协议,用户只需输入身份验证信息,验证通过获取票据即可访问多个接入 Kerberos 的服务, 机器的单点登录也可以基于此协议完成的。 Hadoop 本身并不创建用户账号,而是使用 Kerberos 协议来进行用户身份验证,从Kerberos凭证中的用户信息获取用户账号, 这样一来跟实际用户运行的账号也无关。

1、集群账号管理

原先我们使用单一账号作为集群管理员,且这一账号为线上统一登录账号, 这存在极大的安全隐患。我们需要使用特殊账号来管理集群。这里涉及的问题是,我们需要几个运维账号呢? 一种简单的做法是使用一个特殊运维账号, CDH 和 Apache官方也都推荐按服务划分分账号来启动集群。

考虑到精细化控制可以有效避免误操作,EMR遵循官方的建议使用多账号,使用Hadoop作为同一用户组,每个组件使用单独的用户。如果是从单一运维账号迁移到多个账号部署时,则需要考虑相关文件权限问题,包括本地以及hdfs两部分,这可以在安全部署上线时完成相应改动。

EMR 组件服务运行的用户信息可以配置在产品包服务层级下,以服务hdfs_namenode为例:

hdfs schema

请添加图片描述

大数据服务集群用户

UserGroupService
hdfshadoophdfs_namenode,hdfs_datanode,hdfs_journalnode
yarnhadoophadoop,yarn_resourcemanager,yarn_nodemanager,jobhistory
sparkhadoopthriftserver,spark
hivehadoophive,hivemetastore,hiveserver2
hbasehadoophbase,hbase_master,hbase_regionserver

2、用户账号管理

考虑到每个团队下会有不同的小组,每个小组都有使用 Hadoop 来进行大数据处理需求,故需要一定程度的多租户环境, 这里主要考虑其中的数据和操作的权限问题,EMR集成了LdapServer目录服务系统,其功能优势具体如下:

1、LdapServer能够减少用户账户管理人员在面对用户数量大、增长快的情况下对账号的创建、回收、权限管理、安全审计等一系列复杂而繁琐工作的压力。

2、LdapServer能够解决多层次、多类型系统、数据库的安全访问难题,所有与账号相关的管理策略均配置在服务端,实现了账号的集中维护和管理。

3、LdapServer能够充分继承和利用平台组织中现有的账户管理系统的身份认证功能,并实现了账户管理与访问控制管理的分离,提高了大数据平台访问认证的安全性

三、EMR如何部署Hadoop安全

EMR可以支持Hadoop,Hive,Spark,Ranger组件开启Kerberos功能,每个组件的开启操作基本一致。下面以开启Hadoop Kerberos功能为例。

1、准备产品包

组件名版本号服务名称
DTBase2.1.22-1mysql,zookeeper
Openldap2.4.44-1berkeleydb,nslcd,openldap
Hadoop3.2.1_3-KBhadoop_pkg,hdfs_journalnode,hdfs_namenode,hdfs_zkfc,hdfs_datanode,hdfs_datanode,jobhistory,yarn_resourcemanager,yarn_nodemanager,timelineserver
Kerberos1.15.1_1kerberos_pkg,kdcserver,kadminserver

2、安装产品包

安装zookeeper、openldap、kdc、hadoop服务

以安装hadoop服务为例,选中需要安装的服务,点击下一步;

请添加图片描述

指定每个服务要要部署的节点,点击执行部署;

请添加图片描述

部署完成后,可以在节点检查目录的权限及组件的启动用户。

请添加图片描述

3、开启Kerberos安全

部署完服务后,需要按照Kerberos开启顺序依次开启:

zookeeper 开关

首先在服务页面,选择zookeeper服务,在部署配置里面找到Switch开关项,切换开关状态,等待开关开启结果;

请添加图片描述

hadoop 开关

在服务页面,选择hadoop pkg服务,在部署配置里面找到Switch开关项,切换开关状态,等待开关开启结果。开启成功后,hadoop Kerberos功能就成功启用了。

请添加图片描述

4、应用授权

授权一般来说是由应用来决定的,通过在 LDAP 数据库中配置一些属性可以让应用程序来进行授权判断。EMR在部署完LdapServer后,平台管理里面将会自动关联LdapServer的连接信息,用户只需选中对应的LdapServer连接,在对应的用户下点击下载票据即可。

请添加图片描述

更多技术信息请查看云掣官网https://yunche.pro/?t=yrgw

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

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

相关文章

CPU与Load

1、CPU和LOAD分别是什么load就是负载吗,跟CPU啥关系,啥区别 CPU和Load(负载)是衡量计算机系统性能的两个重要指标,但它们关注的侧重点和意义不同。理解这两个指标及它们之间的关系对于系统优化和性能监控非常重要。 CP…

【C++】数组案例 五只小猪称体重

题目:给出物质小猪体重,找出最大的体重的值并打印 思路:利用菽粟写入五只小猪的体重,让每一个元素都赋值给一个整型变量并每赋值一次就于下一个数组中的元素比,若是大就继续赋值给这个变量,若是小则不赋值…

【QT】qss

目录 基本语法 设置全局样式 问题 分离样式代码 方案1 方案2 选择器 概况 子控件选择器 伪类选择器 盒子模型 修改控件样式示例 按钮 属性小结 复选框 属性小结 输入框 属性小结 列表框 属性小结 渐变色 示例: 菜单栏 设置菜单栏的背景…

clang 编译cuda原理

背景 最近在看一门julia的语言,里面是原生支持cuda的,不过在国产卡上却无法适配,为了开展工作有必要了解非常清楚整个编译的机制。此外在研究过程中发现openai 的triton,以及tvm等一些ai框架对nvidia的支持原理都及其类似&#x…

LinkedList接口源码解读

LinkedList 接口源码解读(一) 前言 因为追求质量,所以写的较慢。大概在接下来的三天内会把LinkedList源码解析出完。大概还有两篇文章。废话不多说,正片开始! 大家都知道,LinkedList是在Java底层中是由 …

【C++标准模版库】模拟实现vector+迭代器失效问题

模拟实现vector 一.vector成员变量二.构造函数1.无参(默认)构造2.有参构造3.拷贝构造1.传统写法2.现代写法 三.vector对象的容量操作1.size2.capacity3.clear4.empty5.reserve6.resize 四.vector对象的访问及遍历操作1.operator[]2.实现迭代器&#xff1…

一次Linux端口冲突问题排查记录

更多技术博客,请关注微信公众号:运维之美 一、问题现象 实施同学反馈说我们的服务部署到客户环境后,运行正常,但是后台页面就是无法打开,出现访问白屏问题 从console报错看是其中一个接口响应存在问题,…

老兵永远跟党走,团结奋进新征程-百余老兵庆八一暨《永远闪光的军徽》新书发布座谈会在昆举行

7月30日上午,由中国红色文化研究会老山精神专业委员会主办,昆明乡羊香园承办的百余老兵庆祝“八一”建军节暨《永远闪光的军徽》新书发布座谈会在昆明滇池湖畔乡羊香园举行。 上午10时左右,老战士、曾担任云南省军区领导的黄光汉、陶昌廉、和志光、李继才、雷玉德、王永银老将军…

海思Hi35XX系列(一)环境搭建与挂载

小白一个,新的开发板刚到手有点懵,之前没弄过没有经验,简单记录一下吧 一般买开发板都会给带一个已经配置好的虚拟机文件,直接使用就可以 一、下载安装虚拟机与镜像文件 VMware-workstation16.1.0 我的镜像文件是官方文档资料…

亨廷顿小勇士必看!你的维生素补给站来啦~

Hey小伙伴们~👋 今天咱们来聊聊一个超勇敢的话题——亨廷顿舞蹈症宝贝们的健康小秘密!🎉 虽然路途偶尔有点小颠簸,但记得哦,你们是最闪耀的星星✨!让我们一起加油,用对维生素,守护这…

C#知识|文件与目录操作:对象的创建、保存、读取

哈喽,你好啊,我是雷工! 面向对象编程的特点就是一切皆对象,操作的也是对象,本节学习文件与目录操作中,对象的保存; 以下为学习笔记。 01 对象的特点 ①:对象运行在内存中&#xff…

4.5K Stars!为 RAG 而生的数据工程神器

—1 大模型 RAG 的难题是什么? RAG 或者 Fine-tuning 微调作为大模型的增强技术,最核心的技术在于如何把企业的私有数据清洗转换成知识,企业中能够第一时间拿到的私有数据,往往是异构的、数据质量参差不齐,通过数据…

ICM-20948芯片详解(3)

接前一篇文章:ICM-20948芯片详解(2) 三、引脚图、信号描述及内部框图 1. 引脚图 ICM-20948的引脚图如下图所示: 2. 引脚详细描述 ICM-20948的引脚详细描述如下表所示: 注意:不支持在SCL/SCLK和nCS引脚保…

Linux系统窗口水印难点分析

给应用程序加水印是保护数据的一种方式,window上可以通过给进程通过注入的方法给进程的窗口创建一个同大小的副窗口,在副窗口上绘制水印内容,同时设置副窗口透明同时透传事件,这样就可以达到在源窗口上显示水印的效果且不影响程序…

易媒助手:神似融媒宝的自媒体运营工具,新人送7天中级VIP

自媒体运营工具中还有一个易媒助手,功能与融媒宝、蚁小二类似,免费用户可发5个账号,三者同时用就可发15个账号了,所以今天也给大家介绍下: 易媒助手简介 易媒助手于2017年开发,致力于成为中国更优秀的新媒…

springboot集成海康SDK,设备抓图,热成像仪设置多个点代码获取,以及针对红外图点击某一点获取该点温度的需求

本文会介绍java对海康sdk的三个功能: 1、用代码实时抓图 2、用代码获取热成像仪21个点的坐标及其实时温度 3、针对海康热成像仪抓取的热图能够随便点击任意一个点就能获取其温度的功能。 第一个功能,抓图 抓图 在海康提供的sdk中取流后抓图调用的是 …

ollama运行阿里云通义千问72B大模型

准备 安装ollama https://github.com/ollama/ollama 模型 合并gguf copy /B qwen2-72b-instruct-q5_k_m-00001-of-00002.gguf qwen2-72b-instruct-q5_k_m-00002-of-00002.gguf qwen2-72b-instruct-q5_k_m.gguf设置并启动 新建Modelfile FROM ./qwen2-72b-instruct-q5_k…

【课程总结】Day18:Seq2Seq的深入了解

前言 在上一章【课程总结】Day17(下):初始Seq2Seq模型中,我们初步了解了Seq2Seq模型的基本情况及代码运行效果,本章内容将深入了解Seq2Seq模型的代码,梳理代码的框架图、各部分组成部分以及运行流程。 框…

想做linux内核开发,该怎么开始(上)

作为一名应届生在选择从事 Linux 内核开发这一职业领域时,需要系统地规划自己的职业道路,这将有助于你更准确地了解未来的发展方向并制定相应的学习和职业发展计划。在这篇文章中,我将向你介绍应届生在 Linux 内核开发领域的职业道路规划&…

O’Reilly

--江上往来人,但爱鲈鱼美。 --君看一叶舟,出没风波里。 OReilly OReilly出版社出版的技术类图书 俗称动物系列 应该是每个技术人员的必备手册。 OReilly动物系列(中译本) 简介" 动物系列作为 OReilly 书籍的典型代表被普遍…