10.4 hadoop安全性kerberos安全验证和委托令牌
1.1 安全性
HDFS的文件许可模块可以组织程序漏洞而毁坏文件系统,也能阻止运行hadoop fs –rmr删除文件指令,但是无法组织恶意的用户假冒root身份来访问或者删除数据。需要使用Kerberos实现用户认证。
1.1.1 Kerberos和Hadoop
(1)客户端请求认证的步骤
1) 认证。客户端向认证服务器获取含时间票据授权票据(Ticket-Granting Ticket,TGT)。
2) 授权。客户使用TGT向票据授权服务器请求服务器票据。
3) 服务请求。客户端使用服务器票据向服务器发送请求。
(2)hadoop配置使用Kerberos
1)hadoop配置文件如何配置
core-site.xml文件中属性hadoop.security.authentication设置为kerberos启动kerberos认证。同时要将hadoop.security.authorization属性设置为true。用户调用kinit命令来执行认证,这个过程需要输入密码,用户申请到的TGT具有时效性,默认10小时,可以是一周。采用单次登陆(single sign-on)到hadoop。如果不希望输入密码,可以用ktutil命令创建一个Kerberos的keytab文件,保存密码使用命令kinit –t keytab执行认证。hadoop-policy.xml文件中访问控制列表ACL(access control list)配置哪些用户对哪些hadoop服务具有访问权限。
2)启动一个KDC(key distribution center)验证授权服务器
3)执行初始化验证任务kinit
可以输入kinit命令,会提示输入密码。或者kinit –t keytab指定密码文件。验证之后就可以hadoop fs –put qu.txt上传文件。
4)klist命令查看票据的过期时间,kdestory指令可销毁票据。
1.1.2 委托令牌
(1)委托令牌创建
一个HDFS读操作会与namenode和datanode多次交互,如果每次交互都要认证,则KDC压力会很大,所以使用委托令牌来支持后续认证。委托令牌由hadoop服务器创建。客户端首次登陆之后,从namenode服务器取得委托令牌,用令牌作为后续验证。
(2)块访问令牌
客户端执行HDFS块操作的委托令牌,客户端向namenode获取的委托令牌可以去datanode验证以获取数据,因为namenode会通过心跳将令牌传给datanode。通过设置属性dfs.block.access.token.enable属性为true来开启块访问令牌。
(3)HDFS之间共享令牌
将属性mapreduce.job.hdfs-servers设置为逗号隔开的HDFS URI列表,才能在其他HDFS共享令牌。
1.1.3 采用认证后安全性提高
(1) 分布式缓存分共享缓存和私有缓存。
(2) 用户只能操作自己的作业,需要将mapreduce.cluster.acls.enabled属性设置为true,mapreduce.job.acl-view-job和mapreduce.job.acl.modify-job属性设置可以查看和修改的的用户,用逗号隔开。
(3) 阻止遏抑的namenode和datanode或节点管理器加入集群,需要加入的节点要进行验证配置,例如datanode,把dfs.datanode.keytab.file设置为保存密码的keytab文件,其次在dfs.datanode.keyberos.principal和hadoop-policy.xml文件中的security.datanode.protocal.acl属性设置为datanode的用户名。配置权限验证。
(4) 任务只与父application master通讯,阻止攻击者获取数据。
(5)多个服务之间数据传输采用加密方式。
自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix