前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据平台安全认证 -- Kerberos

大数据平台安全认证 -- Kerberos

作者头像
叫我阿柒啊
发布2022-05-09 20:11:33
1.4K0
发布2022-05-09 20:11:33
举报

前言

自从2018年大数据平台升级,Hadoop/Kafka从此被Kerberos立体环绕,虽然知道kinit/kdestory/klist命令,但是每次执行都感觉云里雾绕,尤其是对接租户的时候,多次陷入尴尬的境地。实习带我的老师曾提起培训一次kerberos,可是还没提上日程就离职了。于是决定去靠自己理解一下Kerberos,脱离这种没有安全感的日子。

什么是kerberos?

Kerberos是一种由MIT(麻省理工大学)提出的一种网络身份验证协议,个人认为可以类比https去理解。Kerberos的client、service、KDC可以类比https的client、server、CA去理解。

在大数据平台的应用中,可以给不同的资源添加不同的权限,例如HDFS的访问、kakfa的topic读写,必须带有对应权限的principal和对应的"密码"去访问。

Kerberos名词

  1. Realm认证管理域,通常是服务端和客户端在一个域内才能进行认证。
  2. Principal客户端和服务端的名称,通常Client命名规则为name@REALM,Server命名规则为name/hostname@REALM
  3. keytab每个principal的配套密码,可代替手动输入密码
  4. krb5.conf记录KDC的host与定义realm规则的配置文件

例如: 你的hadoop有十台主机,/etc/hosts配置的host为hadoop[1-10].hadoop.com,name在定义你的Kerberos的Realm时就是HADOOP.COM,你创建的客户端的服务端的principal都是以@HADOOP.COM结尾。 Client通过解析Server的principal中的hostname部分来通过/etc/hosts来映射出Server的IP,所以使用Kerberos一定要配置Server所有的hosts

安装

  1. 执行yum install krb5-server krb5-libs krb5-auth-dialog
  2. 编辑/etc/krb5.conf,配置realm和kdc等配置
  3. 执行kdb5_util create -s -r HADOOP.COM来生成AD(Account Database),存放principal和密码
  4. 启动服务systemctl start krb5kdc.servicesystemctl start kadmin.service
  5. 在kdc服务器中通过kadmin.local命令进入AD,通过下面命令来生成pricipalxst -k /etc/test.keytab test@HADOOP.COM

命令

认证过程

WHY

以上就是对Kerberos概念的一些了解,后续可能会对具体场景下的使用进行汇总,主要是java/scala/flume对hadoop/kafka的读写等。See U again

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门到放弃之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档