MAPREDUCE服务 MRS-MRS组件应用安全认证说明:Kerberos认证说明
Kerberos认证说明
开启了Kerberos认证的安全模式集群,进行应用开发时需要进行安全认证。使用Kerberos的系统在设计上采用“客户端/服务器”结构与AES等加密技术,并且能够进行相互认证(即客户端和服务器端均可对对方进行身份认证)。可以用于防止窃听、防止replay攻击、保护数据完整性等场合,是一种应用对称密钥体制进行密钥管理的系统。
模块 |
说明 |
---|---|
Application Client |
应用客户端,通常是需要提交任务(或者作业)的应用程序。 |
Application Server |
应用服务端,通常是应用客户端需要访问的应用程序。 |
Kerberos |
提供安全认证的服务。 |
KerberosAdmin |
提供认证用户管理的进程。 |
KerberosServer |
提供认证票据分发的进程。 |
应用客户端(Application Client)可以是集群内某个服务,也可以是客户二次开发的一个应用程序,应用程序可以向应用服务提交任务或者作业。
- 应用程序在提交任务或者作业前,需要向Kerberos服务申请TGT(Ticket-Granting Ticket),用于建立和Kerberos服务器的安全会话。
- Kerberos服务在收到TGT请求后,会解析其中的参数来生成对应的TGT,使用客户端指定的用户名的密钥进行加密响应消息。
- 应用客户端收到TGT响应消息后,解析获取TGT,此时,再由应用客户端(通常是rpc底层)向Kerberos服务获取应用服务端的ST(Server Ticket)。
- Kerberos服务在收到ST请求后,校验其中的TGT合法后,生成对应的应用服务的ST,再使用应用服务密钥将响应消息进行加密处理。
- 应用客户端收到ST响应消息后,将ST打包到发给应用服务的消息里面传输给对应的应用服务端(Application Server)。
- 应用服务端收到请求后,使用本端应用服务对应的密钥解析其中的ST,并校验成功后,本次请求合法通过。