深入解析yarn架构设计与技术实现-Resource Manager剖析3
认证与授权
yarn 的安全管理同时采用了kerberos和token两种。在client与resourceManager以及弄得manager之前的初次通信均使用kerboeros,而一旦建立链接以后则使用tiken认证机制。
- kerberos:一种基于第三方服务的认证协议,其特点是用户只需要输入一次身份验证信息就可以凭获得票据访问多个服务
- token:基于共享密匙的双方身份认证机制
yarn认证的token有8类,分别对应不同的交互,因为认证主要是验证你是不是你,所以一般也不需要改,这里就不记录了。
yarn的授权主要是通过访问控制列表(ACL)实现的。首先讲一下HDFS的授权,他是和unix一直,将权限授予对象分为用户,同组用户和其他用户并且可以单独 每个对象设置读写以及执行权限。而yarn的授权针对实体的不同分为3类:
- 队列访问控制列表。yarn中一个队列由多个用户或者用户组组成。通常每个队列包含提交应用的权限和管理应用的权限。通过配置文件mapred-queue.xml配置每个哪些用户可以提交或者修改哪个队列的任务。参考1,参考2讲了设置的方法,都是基于hadoop1的,不过我觉得应该是通用的。
- 应用程序访问控制列表: 应用程序对外提供一些特殊的可直接设置的参数。比如用户可以通过参数mapreduce.job.acl-view-job 和mapreduce.job.acl-modify-job为每个作业单独设置查看和修改权限
- 服务访问控制列表:确保只有那些经过授权的客户端才能访问对应的服务。比如可通过为ApplicationClientProtocol协议设置访问控制列表以指定哪些用户可以向集群中提交应用程序。 在hadoop-policy.xml文件进行配置.
参考文献
本文采用创作共用保留署名-非商业-禁止演绎4.0国际许可证,欢迎转载,但转载请注明来自http://thousandhu.github.io,并保持转载后文章内容的完整。本人保留所有版权相关权利。
本文链接:http://thousandhu.github.io/2016/07/29/深入解析yarn架构设计与技术实现-Resource-Manager剖析3/