- 1. HDFS多租户实现 刘刚
北京蓝汛通信技术有限责任公司
电话:18701396343
QQ:352041546
Email:jaylg2010@gmail.com
- 2. 大纲
多租户的概念
HDFS权限控制
HDFS的多租户的设计
- 3. 多租户的概念多租户应用
多个租户共享硬件资源,硬件资源提供一个共享的应用和数据库实例。每个租户认为自己独占资源,因为实例提供高度的定制以满足租户所需。
租户
是指求租SaaS解决方案的企业实体。一个租户一般会有多个用户。
- 4. 一个旅馆的例子1个旅馆,
出租给多个人换个角度,多个人共租用了1旅馆的空间(资源),旅馆正在面对“多租户”。1个空间(资源)多人共用,如何划分房间(资源分配)?不划分,全部共用。
旅客共享居住空间,床铺。大通铺方案木板隔断方案划分,用木板隔离。一个隔断中容纳几名旅客。
几名旅客共享居住空间,每名旅客独享床铺。水泥墙隔断方案划分,用水泥墙隔离。一个隔断中只容纳一名旅客。
每名旅客独享居住空间,床铺。
- 5. HDFS权限控制
- 6. HDFS访问流程
- 7. HDFS租约管理模块如果多个进程对网络文件系统中的同一个文件进行写入操作会有什么结果呢?
Lease(租约)可以认为是一个文件写锁,当客户端需要写文件的时候,它需要申请一个Lease。
NameNode负责记录每个正在处于写入状态文件的Lease,Lease的属主是谁,超时时间(分布式处理的一种常用技术)等,
- 8. HDFS租约管理模块1)LeaseManager(左)管理着系统中的所有Lease(右),同时,LeaseManager有一个线程Monitor,用于检查是否有Lease到期。
2)一个租约由一个holder(客户端名),lastUpdate(上次更新时间)和paths(该客户端操作的文件集合)构成。
- 9. 云存储多租户的安全目前,针对云存储环境中多租户数据安全问题,人们多数采用的是传统的访问控制策略和加密处理技术.
例如:
1)Amazon s3仅提供传统的访问控制列表(ACL)和bucket(类似文件夹)策略。
2)Amazon弹性计算云只是在用户客户端通过SOAP over HTFPS加密协议来保证远端连接的安全性。
3)PCS 2.5(PamScale Cloud Storage)也仅提供可扩展的数据加密功能来保证在拷贝和迁移过程中的数据是加密处理的。
4)Redhat的GFS(Global File System)、IBM的GPFS(General Parallel File System)和Sun的Lustre等用于高性能计算或大型数据中心的主流分布式文件系统对安全性的考虑也很少,以GPFS为例,它只考虑身份鉴别和基于Kerbems协议的加密机制。
- 10. HDFS多租户的设计需求:
1) 企业内部数据的适度隔离
2)企业内部资源的部门化
设计:
以RBAC(Role Based AccessControl)策略为基础,在HDFS实现多租户。
- 11. RBAC访问控制策略安全策略主要针对企业用户设计,而大部分企业
的组织划分通常具有一定的层次性,所以策略中的主体和资
源客体的属性也要求能够体现企业的这种层次化的特性.各个企业存在着自身不同的安全需求,因此云存
储安全策略应当是灵活的,使得企业用户可以根据自身的安
全需求灵活的定制安全策略,实现各自的安全目标.灵活性层次性
- 12. 策略描述1)Role(角色)安全设计
角色安全定义如下:
(company,role1,role2,role3,⋯,roleN)或(org,role list).
company
- 13. 策略描述1)Resource(资源)安全设计
资源安全定义如下:
(company,Res1,Res2,Res3,⋯,ResN)或(org,resource list).
company
- 14. 访问控制规则 角色的权限定义.根据客户在云存储平台的访问需求,为每个role制定相应的读r,写w和执行x权限表达式,即
role:(r,w,x)
为了支持灵活的安全策略表示、管理与维护,每个权限(perm)都是使用Resource权限加上与(&&)、或(||)、非(!)三种逻辑运算符组合构成的逻辑表达式(expr)构成.
entity={all available Resource}
predicate={&&,||,!}
expr=entity(expr)| !expr | expr&&expr || expr
perm = expr
- 15. HDFS多租户的方案User Command DFSClientDataNodeDataNodeNameNode安全策略模块角色安全定义安全策略访问元数据信息读取数据块流
- 16. 安全策略表示与配置 采用xml文件来存储层次化的Roles(角色)定义和Resource资源定义。
role pool
role pool1
resource pool
resource pool1
- 17. 安全访问的实施机制客户端在访问数据之前,必须先从Namenode获取数据块的位置信息,即数据块备份所在的Datanode的地址列表,然后从中选取离自己最近的一Datanode直接进行数据块的访问.
问题???
一个恶意的客户端完全可能避免同Namenode交互,为的是绕过其中的安全决策判定部分,直接去访问相关Datanode上的任意数据.
解决:
采用Token机制
- 18. Token机制DFSClientNameNodeDataNode(filename,blockindex)(block handle,block locations,file acess,token)(block handle,byte range,file acess,token)data streaming
- 19. 项目进展1)EasyHadoop里面的模块 EasyHDFSControl
2)项目有了DEMO
3)openSource
4)如果哪位感兴趣,可联系我
QQ:352041546
电话:19701396343
- 20. (本页无文本内容)