Kerberos认证原理与环境部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kerberos认证原理与环境部署相关的知识,希望对你有一定的参考价值。

参考技术A

官网:https://www.kerberos.org/
官方文档:http://web.mit.edu/kerberos/krb5-current/doc/

Kerberos中有以下一些概念需要了解:

用户principal的形式:

其中Instance是可选 的,通常用于更好地限定用户的类型。比如,一个管理员用户通常会有admin instance,即 Name/admin@REALM 。

下面是指代用户的 一些principal的例子:

用户principal的形式:

下面是指代服务principal的例子:

Ticket分两种:

Kerberos认证时序图:

官方文档:https://kerberos.org/dist/index.html

在 hadoop-node1 节点上执行如下命令安装Kerberos Server

其中前一个 号是通配符,表示像名为“abc/admin”或“xxx/admin”的人都可以使用此工具(远程或本地)管理kerberos数据库,后一个 跟权限有关,*表示所有权限。HADOOP.COM是上面配置的realm。

Kerberos kadmind 使用该文件来管理对 Kerberos 数据库的访问权限。对于影响 principa 的操作,ACL 文件还控制哪些 principa 可以对哪些其他 principa 进行操作。文件格式如下:

相关参数说明:

【示例】
kadm5.acl 文件中的以下项授予 HADOOP.COM 领域中包含 admin 实例的任何主体对 Kerberos 数据库的所有权限:

kadm5.acl 文件中的以下项 授予 test@EXAMPLE.COM 主体添加、列出和查询包含 root 实例的任何主体的权限。

kadm5.acl 文件中的以下项 不授予 test@EXAMPLE.COM 主体添加、列出和查询包含 root 实例的任何主体的权限。

详细说明可参考官网文档:https://web.mit.edu/kerberos/krb5-latest/doc/admin/conf_files/kadm5_acl.html

kerberos数据库创建完之后,默认会创建以下5个文件(kdc.conf、kadm5.acl除外的其他几个),Kerberos 数据库的目录为: /var/kerberos/krb5kdc ,如果需要重建数据库,可删除这五个文件重新执行上面的命令创建。

启动:

停止:

Kerberos 服务机器上可以使用 kadmin.local 来执行各种管理的操作。进入 kadmin.local,不需要输入密码:

常用操作:

【示例】

在hadoop-node2和hadoop-node3节点上安装client

配置 krb5.conf

测试验证连接server

指定用户

管理KDC数据库有两种方式:

创建用户,注意自己设置的密码

使用xst命令或者ktadd命令:

其中 /root/root.keytab为自己指定的路径与文件名,以.keytab结尾;root/admin为之前创建的凭证用户

查看密钥文件

基于密码认证

基于密钥认证(keytab)

常见的基础操作就到这里了,更多操作命令,可以查看官方文档和查看帮助。后续会分享kerberos认证实战文章,请小伙伴耐心等待~

以上是关于Kerberos认证原理与环境部署的主要内容,如果未能解决你的问题,请参考以下文章

Kafka 认证三:Kerberos 认证中心部署

Kafka 认证三:Kerberos 认证中心部署

Kerberos与票据的爱情故事

Kafka 认证三:添加 Kerberos 认证详细流程

Kafka 认证三:添加 Kerberos 认证详细流程

Kafka 认证三:添加 Kerberos 认证详细流程