基于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实现了高效、可靠的大规模数据存储与管理。
1910 70
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
1291 6
|
存储 安全 数据安全/隐私保护
Hyper V文件复制安全:加密与访问控制
在Hyper-V环境中,确保文件复制的安全性至关重要。主要措施包括:启用数据加密、使用HTTPS协议和磁盘加密技术(如BitLocker)保护数据传输和存储;通过身份验证、权限管理和审核日志控制访问;定期更新补丁、实施网络隔离及制定备份恢复策略。这些多层次的安全措施共同防止未经授权的访问和数据泄露,保障数据安全。
Hyper V文件复制安全:加密与访问控制
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
634 34
|
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
533 0
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
358 0
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
446 0
|
SQL 分布式计算 监控
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
368 3
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
464 5
|
资源调度 数据可视化 大数据
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
357 4

热门文章

最新文章