Hadoop安全认证
?Hadoop中采用了SASL(Simple Authentication and Security Layer,简单层和安全层)进行安全认证,具体方法涉及DIGEST-MD5和Kerberos两种。
1.SASL
?SASL是一种用来扩充C/S模式验证能力的认证机制,核心思想是把用户认证和安全传输从应用程序中隔离出来。 ?SASL支持多种认证方法,主要包括以下几种: ?(1)ANONYMOUS:无须认证 ?(2)PLAIN:最简单但危险的机制,信息采用明文密码方式传输 ?(3)DIGEST-MD5:方便性和安全性结合得最好的方式,SASL默认采用的方式。使用此机制时,客户端与服务端共享一个密钥,且该密钥不通过网络传输。 ?(4)GSSAPI:其最主要的实现是基于Kerberos的,所以一般说到GSSAPI其实就指的是Kerberos实现。
2.Kerveros
?Kerberos是一种网络认证协议,主要用于计算机网络的身份鉴别,特点是用户只需要输入一次身份验证信息就可以凭借此验证获得的票据访问多个服务。其采用了对称加密机制。 ?使用Kerberos时,一个客户端要经过下面六个步骤才能获得服务:
?1.客户端向KDC中的认证系统发送服务许可票据请求。 ?2.KDC中的认证服务器接收到来自客户端的票据请求后,查找对应的数据,如果该用户合法,则为其放服务许可票据。 ?3.客户端向KDC中的票据许可服务器发送服务票据请求。 ?4.票据许可服务器检查客户端的服务许可票据是否合法,如果合法,则为之返回服务票据。 ?5.客户端获取服务许可票据后,向对应的服务器请求服务。 ?6.服务器检查客户端的服务票据是否合法,如果合法,则为之返回服务器认证,从而可以安全地访问服务器。
&Hadoop选用Kerberos作为安全认证机制,相较于另外一种机制SSL的优点是:
1.性能高:Kerberos采用了对称密钥,相较于SSL中自带的基于公钥的算法要高效得多。 2.用户管理简单:Kerberos依赖于第三方KDC来统一管理,管理员对用户的操作直接作用在KDC上,相较于SSL中基于广播的更新机制简单。
|