Kerberos 身份认证原理

 

Kerberos 身份认证原理

Kerberos 是一种基于对称密钥技术的身份认证协议,它作为一个独立的第三方的身份认证服务,可以为其它服务提供身份认证功能,且支持 SSO (即客户端身份认证后,可以访问多个服务如 HBase/HDFS 等)。

Kerberos 协议过程主要有两个阶段,第一个阶段是 KDC 对 Client 身份认证,第二个阶段是 Service 对 Client 身份认证

 

  • KDC

    Kerberos 的服务端程序

  • Client

    需要访问服务的用户(principal),KDC 和 Service 会对用户的身份进行认证

  • Service

    集成了 Kerberos 的服务,如 HDFS/YARN/HBase 等

  • KDC 对 Client 身份认证

    当客户端用户(principal)访问一个集成了 Kerberos 的服务之前,需要先通过 KDC 的身份认证。

    若身份认证通过则客户端会拿到一个 TGT(Ticket Granting Ticket),后续就可以拿该 TGT 去访问集成了 Kerberos 的服务。

  • Service 对 Client 身份认证

    当 2.1 中用户拿到 TGT 后,就可以继续访问 Service 服务。它会使用 TGT 以及需要访问的服务名称(如 HDFS)去 KDC 获取 SGT(Service Granting Ticket),然后使用 SGT 去访问 Service,Service 会利用相关信息对 Client 进行身份认证,认证通过后就可以正常访问 Service 服务。

基本流出就是:

  1. Client向KDC申请TGT(Ticket Granting Ticket)。

  2. Client通过获得TGT向DKC申请用于访问Server的Ticket。

  3. Client最终向为了Server对自己的认证向其提交Ticket。

kerberos有效期时间

vim /etc/krb5.conf //修改krbs.conf配置文件

里面有一个属性 :
ticket_lifetime = 24h

安全用户登陆:

Kerberos认证支持两种方式:密码认证及keytab认证。认证有效时间默认为24小时。

  • 密码认证:通过输入用户正确的密码完成身份认证。主要在运维管理场景中使用“人机”用户进行认证,命令为kinit 用户名
  • keytab认证:keytab文件包含了用户的安全信息。使用keytab文件认证时,系统自动使用加密的凭据信息进行认证无需输入用户密码。主要在组件应用开发场景中使用,且使用“机机”用户。keytab文件也支持在kinit命令中使用。
#安全集群,则需要执行kinit -kt <keytab file> <pricipal name> 进行认证
#机机登陆的时候resinse 用户
kinit -kt /root/mrs/resines.keytab resines 

#人机登陆
kinit  resines

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值