Skip to content

Latest commit

 

History

History
executable file
·
56 lines (31 loc) · 2.95 KB

8.HDFS安全.md

File metadata and controls

executable file
·
56 lines (31 loc) · 2.95 KB

HDFS安全

  • kerberos

    • Kerberos是一种计算机网络认证协议,用来在非安全网络中对个人通信以安全的手段进行身份认证。

    • 基于该协议的系统采用客户端/服务端结构,并且能够进行相互认证,即客户端和服务端均可以对对方进行身份认证。可以用于防窃听、防止重放攻击、保护数据完整性等场合,是一种应用对称密钥体制进行密钥管理的系统。也可以通过第三方插件使用公开密钥加密方法进行认证。

    • 目前支持Kerberos协议的系统有MIT/Heimdal KerberosActive Directory

  • 一些术语:

    • KDC —— 密钥分发中心,包括认证服务和票据授予服务等模块(包括数据库)

    • Keytab —— 密钥文件,存储用户的密钥信息

    • Principal —— 与用户含义类似的Kerberos术语,但包含更多实体,如服务器、网络服务等。

    • ticket —— 票据,服务器上包含认证信息的一类缓存文件

    • TGT(ticket-granting ticket) —— 票据许可票据,由认证服务器发送给客户端的票据。客户端一旦持有这个票据,就可以认为客户端已经通过了Kerberos认证。

    • TGS(Ticket granting server) —— 票据许可服务,由票据授予服务模块在验证TGT后发送给客户端的票据,持有这个票据后就能连接远程服务端的特定服务。

  • Kerberos访问流程

    Kerberos访问流程图

    • 客户端首先向KDC发起认证请求,获取TGT票据

    • 客户端在向HDFS等服务发起请求前,会想KDC申请这些服务器的TGS票据

    • 客户端通过TGS票据来连接远程的HDFS RPC服务

    • 完成认证后,NN会为客户端的盖茨请求生成单独的Token,用于后续与DN节点的通信和访问授权。

      tips:这里的TGT和TGS都是由KDC生成的,由Kerberos和KDC进行配置,有有效期。token也有有效期,但是token是由namenode配置的。

  • 配置HDFS安全和Kerberos的相关参数

    相关参数