共计 1501 个字符,预计需要花费 4 分钟才能阅读完成。
Kerberos 作用
一般安全涉及以下方面:用户认证(Kerberos)、用户授权、用户管理.。而 Kerberos 功能是用户认证,通俗来说解决了证明 A 是 A 的问题。
认证过程(时序图)
核心角色 / 概念
-
KDC:密钥分发巾心,负责管理发放票据,记录授权。
-
Realm:Kerberos 管理领域的标识。
-
principal:Kerberos 下的用户可以称为 Principal,当每添加一个用户或服务的时候都需要向 kdc 添加一条 principal, principal 的形式为:主名称 / 实例名 @领域名。
1)用户 principal
用户 principal 的形式:
Name[/Instance]@REALM
其中 Instance 是可选 的,通常用于更好地限定用户的类型。比如,一个管理员用户通常会有 admin instance,即 Name/admin@REALM。
下面是指代用户的 一些 principal 的例子:
[email protected]
admin/[email protected]
cnicetoupp/[email protected]
2)服务 principal
用户 principal 的形式:
Service/Hostname@REALM
第一部分是 service 的名字,比如 imap,AFS,ftp. 通常 'host' 这个名字被用于指明对一台机器的通用的访问 (telnent,rsh,ssh)。
第二个 component 是提供这个服务的机器的全限定域名 (FQDN)。这个 component 跟 DNS 对应用服务器的 IP 地址进行逆向解析后得到的主机名。
下面是指代服务 principal 的例子:
imap/[email protected]
host/[email protected]
afs/[email protected] -
主名称 :主名称可以是用户名或服务名,表示是用于提供各种网络服务 (如 hdfs、yam,、hive)的主体。
-
实例名 :实例名简单理解为主机名。
-
keytab 文件 :存储了用户的加密密码。常用这种方式认证。
常用认证相关命令
-
登录控制台
kadmin.local
-
用户创建
kadmin.local -q "addprinc -pw 111111 testuser"
-
用户生成授权
kadmin.local -q "xst -k user.keytab [email protected]"
-
使用授权
kinit test.keytab [email protected]
-
查看当前认证信息
klist
-
销毁当前认证
kdestory
官方使用文档
详细的官方使用文档、命令可以参考官方链接:[https://web.mit.edu/kerberos/krb5-latest/doc/](https://web.mit.edu/kerberos/krb5-latest/doc/)
win 客户端, 访问 Kerberos 大数据组件页面
参考链接:https://blog.csdn.net/qq_40341628/article/details/84991443
- 下载客户端安装 http://web.mit.edu/kerberos/dist/
- 复制远程服务器 /etc/krb5.conf 里面的内容到本机:C:\ProgramData\MIT\Kerberos5\krb.ini
大数据组件相关问题
- hive server2 web ui 无法访问 logs 路径:官方 bug, 链接:https://issues.apache.org/jira/browse/HIVE-14737
参考链接
https://www.cnblogs.com/liugp/p/16468514.html
文章首发于:http://nebofeng.com/2023/02/12/kerberos%e7%ae%80%e5%8d%95%e4%bb%8b%e7%bb%8d%e5%8f%8a%e4%bd%bf%e7%94%a8/