基于Hadoop的云盘系统客户端技术难点之二 HDFS文件访问控制

简介:

作者:张子良

版权所有,转载请注明出处

一、概述  

  Hadoop开源技术框架在实际业务应用中,其早期的安全机制饱受诟病,具体到HDFS应用方面的问题,主要包括以下几个方面:

  1.用户到服务器的认证问题

  (1)Namenode上没有用户认证:用户只要知道NameNode服务地址和端口信息,就可以访问HDFS,并获取文件namespace信息。

  (2)Datanode上没有认证机制:Datanode对读入输出并没有认证,导致如果客户端知道Blockid,就可以任意的访问Datanode上的Block数据。

  2.服务器到服务器的认证信息

  (1)Namenode对Datanode没有认证机制:非法用户可以伪装成Datanode,去接收Namenode的文件存储任务。

二、hadoop的Security

  针对用户到服务器的认证问题,Hadoop在1.0.0版本以后增加了Security认证机制。该机制采用类Unix用户管理机制,文件的创建用户和超级用户拥有对文件的所有权限,包括读和写,其他用户拥有访问权,无写权限。具体来讲就是,连接到hadoop 集群的用户/组信息取决于客户端环境,即客户端主机中`whoami`和`bash –c groups`取到的用户名和组名,没有uid和gid,用户属组列表中只要有一个与集群配置的用户组相同即拥有该组权限。

  值得注意的是当前Hadoop的三个主要版本分支中并不是都实现了对其的支持,具体实施时需要注意不同版本的区别。

三、hadoop的kebores

  Hadoop的Kebores认证机制,用来解决服务器到服务器的认证,主要涉及云盘系统后台服务分布式集群安全问题,将另开专题讨论。在此不作讨论。

四、云盘系统客户端文件安全保障

  云盘系统客户端HDFS文件安全保障主要涉及用户对HDFS文件服务集群的安全访问问题,包括某一个注册用户只能访问属于该用户的空间和某一个用户只能在HDFS空间上访问指定大小的空间两个问题。这里面是涉及一个用户管理和空间管理的问题,在此不作详细介绍。

针对问题一,我们可以通过改造现有HadoopThriftServer或者新增服务机制来解决,即客户端登陆时,返回HDFS上该用户的允许访问路径,用户操作过程中进行访问路径检测,非授权路径自动过滤,不允许访问。

针对问题二,提供用户注册机制,服务端根据用户注册的权属组,调用FSadmin设置用户文件夹的授权大小。

目录
相关文章
|
XML 存储 分布式计算
【赵渝强老师】史上最详细:Hadoop HDFS的体系架构
HDFS(Hadoop分布式文件系统)由三个核心组件构成:NameNode、DataNode和SecondaryNameNode。NameNode负责管理文件系统的命名空间和客户端请求,维护元数据文件fsimage和edits;DataNode存储实际的数据块,默认大小为128MB;SecondaryNameNode定期合并edits日志到fsimage中,但不作为NameNode的热备份。通过这些组件的协同工作,HDFS实现了高效、可靠的大规模数据存储与管理。
1689 70
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
734 79
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
1079 6
|
存储 安全 数据安全/隐私保护
Hyper V文件复制安全:加密与访问控制
在Hyper-V环境中,确保文件复制的安全性至关重要。主要措施包括:启用数据加密、使用HTTPS协议和磁盘加密技术(如BitLocker)保护数据传输和存储;通过身份验证、权限管理和审核日志控制访问;定期更新补丁、实施网络隔离及制定备份恢复策略。这些多层次的安全措施共同防止未经授权的访问和数据泄露,保障数据安全。
Hyper V文件复制安全:加密与访问控制
|
SQL 分布式计算 Hadoop
Hadoop生态系统:从小白到老司机的入门指南
Hadoop生态系统:从小白到老司机的入门指南
644 13
|
存储 分布式计算 Hadoop
基于Java的Hadoop文件处理系统:高效分布式数据解析与存储
本文介绍了如何借鉴Hadoop的设计思想,使用Java实现其核心功能MapReduce,解决海量数据处理问题。通过类比图书馆管理系统,详细解释了Hadoop的两大组件:HDFS(分布式文件系统)和MapReduce(分布式计算模型)。具体实现了单词统计任务,并扩展支持CSV和JSON格式的数据解析。为了提升性能,引入了Combiner减少中间数据传输,以及自定义Partitioner解决数据倾斜问题。最后总结了Hadoop在大数据处理中的重要性,鼓励Java开发者学习Hadoop以拓展技术边界。
566 7
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
739 2
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
655 1
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
452 0
|
SQL 分布式计算 监控
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
293 3

相关实验场景

更多