kerberos的使用

kerberos的使用

KDC常用操作

kadmin.local :打开KDC控制台,需要root权限

1
kadmin.local

addprinc :添加用户

1
2
3
4
5
添加用户,密码随机
addprinc -randkey root/admin

添加用户,输入用户密码
addprinc root/admin

delprinc :删除principle

1
delprinc  hdfs/admin

Trino连接启用Kerberos认证的CDH集群

Trino 连接启用 Kerberos 认证的CDH

Kudu

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
kudu.authentication.type = KERBEROS

## The kerberos client principal name
kudu.authentication.client.principal = clientprincipalname

## The path to the kerberos keytab file
## The configured client principal must exist in this keytab file
kudu.authentication.client.keytab = /path/to/keytab/file.keytab

## The path to the krb5.conf kerberos config file
kudu.authentication.config = /path/to/kerberos/krb5.conf

## Optional and defaults to "kudu"
## If kudu is running with a custom SPN this needs to be configured
kudu.authentication.server.principal.primary = kudu

kudu.authentication.server.principal.primary = kudu 这个没搞懂用途,用的默认值


Kerberos原理说明

Kerberos

Kerberos是一种通过传统的加密技术(共享密钥)实现的可信任的第三方认证机制。

kerberos协议中包含3种角色:

  • 客户端(client):发送请求的一方
  • 服务端(Server):接收请求的一方
  • 密钥分发中心(Key Distribution Center,KDC):密钥分发中心包括AS(Authentication Server)认证服务器和TGS(Ticket Granting Ticket)票据授予服务器

整个kerberos认证流程可以简化描述如下:
客户端在访问每个想要访问的网络服务时,他需要携带一个专门用于访问该服务并且能够证明自己身份的票据,当服务端收到了该票据他才能认定客户端身份正确,向客户端提供服务。所以整个认证流程可简化为两大步:

  1. 客户端向KDC请求获取想要访问的目标服务的服务授予票据(Ticket)(先在AS做可信身份认证,再在TGS申请票据);
  2. 客户端拿着从KDC获取的服务授予票据(Ticket)访问相应的网络服务


Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×