kerberos介绍

来源:互联网 发布:数据库质量控制 编辑:程序博客网 时间:2024/06/05 19:04

kerberos是一种网络认证协议,主要用于计算机网络的身份鉴别。

其特点是用户只需要输入一次身份验证信息就可以凭借此验证活得的票据访问多个服务,kerveros认证过程的实现不因爱于主机操作系统的认证,它不基于主机地址的信任,也不要求网络上所有主机的物理安全,kerveros作为一种可以任性的第三方认证服务,是通过传统的密码技术(如共享秘钥)执行认证服务的。

1、kerverso协议中的基本概念

    1、客户端(client)客户端就是用户,也就是请求服务的用户。

服务器 server 向用户提供服务的一方

秘钥分发中心 kerveros key distribution center  kdc  kdc存储了所有客户端密码和其他账户信息,它接受来自客户端的票据请求,验证其身份并对其授予服务票据,kdc中包含认证服务和票据授权服务两个服务。

3、认证服务 as  负责检验用户的身份,如果通过了验证,则向用户提供范文票据准许服务器的服务许可票据

4、票据授权服务区  负责验证用户的服务许可票据, 如果通过验证,则为用户提供范文服务器的服务许可票据

5、票据 用于在认证服务器和用户请求 的服务之间安全的传递用户的身份。同时也传递一些附加信息

6、票据授权票据  客户访问 tgs服务器小提供的票据,目的是为了申请某一个应用服务器的服务许可票据

7、服务许可票据  客户请求服务时需要提供的票据


kereros协议使用了对称加密机制,因此必然存在于类似于口令的秘钥,为了避免口令在网络


在kerveros中,当客户端请求一个服务时,

1、客户端向kdc中的认证系统发送服务许可票据请求

2、kdc中的认证服务器接收到来自客户端票据请求后,查找对应的数据,如果该用户合法,则为其发挥服务许可票据

3、客户端



hdfs

客户端与hdfs之间的通信连接由两部分组成,他们均采用了kerveros与令牌相结合的方法进行身份认证

1、客户端向namenode发起的rpc连接

   由于namenode存储了系统中所有文件的元数据信息,因此如果客户端如task需要读写一个文件,首先需要向






mapreduce

mapreduce权限管理和身份认证涉及作业提交、作业控制、任务启动、任务运行和shuffle等极端,接下来分别对以上各阶段进行介绍

1、作业提交

 用户提交作业后,jobclient 需要与namenode 和jobtracker等服务进行通信,已进行身份任何和获取相关临牌,具体过程如下

1、jobclient与namenode通信,通过kerveros验证后可获取授权令牌,使用该令牌,作业和任务可以读写hdfs上的文件。

2、jobclient将作业运行相关的文件,比如作业配置文件job.xml、输入分片想哥哥文件job.split 和job。splitmetainfo 程序jar包等,上传到hdfs的目录

0 0
原创粉丝点击