本篇目录:
- 1、Kerberos在Hadoop安全中担任什么角色以及存在什么问题
- 2、如何通过Kerberos建立两台服务器之间的信任
- 3、自动生成Kerberos的keytab文件
- 4、kerberos的简单使用
Kerberos在Hadoop安全中担任什么角色以及存在什么问题
更加清晰kerberos在Hadoop安全中担任的角色。 Hadoop安全问题:Hadoop设计之初,默认集群内所有的节点都是可靠的。
数据隐私问题:虽然Hadoop支持数据加密,但是对于一些敏感数据,如个人隐私数据,用户可能需要进行额外的隐私保护措施。安全漏洞:虽然Hadoop已经尽力减小了安全漏洞,但随着技术的不断发展,新的安全漏洞可能会被发现。

因此,在Kerberos系统中至少有三个角色:认证服务器(AS),客户端(Client)和普通服务器(Server)。客户端和服务器将在AS的帮助下完成相互认证。在Kerberos系统中,客户端和服务器都有一个唯一的名字,叫做Principal。
Hadoop在设计之初并未考虑过安全问题,在Ha-doop 0. 0和Cloudera CDH3版本之后,Hadoop加人了Kerberos的身份认证机制和基于ACL的访问控制机制[91。
目前,集群采用了基于Kerberos的Hadoop Security机制,而该安全机制会导致日志聚集功能中HDFSClient访问冷数据集群NameNode认证失败,从而影响分离方案实施。

Hadoop提供了两种安全机制:Simple和Kerberos。Simple机制(默认情况,Hadoop采用该机制)采用了SAAS协议。
如何通过Kerberos建立两台服务器之间的信任
1、在右窗格中,右键单击 Web 服务器的计算机名称,选择 属性,然后单击 委派 选项卡。单击以选择 信任此计算机以委派到任何服务(仅限 Kerberos)。单击“确定”***。
2、在以上情况下, Kerberos 作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。

3、Kerberos提供了在开放型网络中进行身份认证的方法,认证实体可以是用户或用户服务。这种认证不依赖宿主机的操作系统或主机的IP地址,不需要保证网络上所有主机的物理安全性,并且假定数据包在传输中可被随机窃取篡改。
自动生成Kerberos的keytab文件
在生成keytab文件时需要加参数”-norandkey”否则会导致,直接使用kinit test@CLOUDERA.com初始化时会提示密码错误。
其中前一个 号是通配符,表示像名为“abc/admin”或“xxx/admin”的人都可以使用此工具(远程或本地)管理kerberos数据库,后一个 跟权限有关,*表示所有权限。HADOOP.COM是上面配置的realm。
事先对集群中确定的机器由管理员手动添加到kerberos数据库中,在KDC上分别产生主机与各个节点的keytab(包含了host和对应节点的名字,还有他们之间的密钥),并将这些keytab分发到对应的节点上。
--keytab参数指定一个keytab文件,Spark会根据--keytab指定的Kerberos认证文件生成 HDFS Token,然后再将生成的Token信息放到HDFS的某一个目录中供Executor和Driver使用。
当认证模式为kerberos时,需要额外配置账户属性principal和对应的密钥文件路径keytab.认证模式为ipaddress时,Producer和Consumer创建时不需要做任何改变。
系统错误。不能生成keytab文件是系统错误。keytab相当于“密码本”,包含了多个principal与密码的文件,用户可以利用该文件进行身份认证。
kerberos的简单使用
AS将TGT用TGS密码的hash值加密(红锁),将Client/TGS Session Key用该用户(pixis)密码的hash值加密(蓝锁)。然后AS将这两部分放到KRB_AS_REP中返回给Client。
Kerberos 的 IBM 版本称为 IBM Network Authentication Service (IBM NAS),可以从 AIX 3 Expansion Pack CD 安装它。IBM NAS for AIX 同时支持 Kerberos 客户机和 Kerberos 服务器。
首先打开I电脑桌面,单击此电脑右键选择属性按钮。进入系统属性设置界面,选择远程按钮。然后需要单击选择用户选项。然后需要选择添加选项按钮。单击高级选项,选择立即查找选项。找到你授权远程的用户。
token的认证只需要两方参与,client和server。而且可以传递给其它服务使用,这也是它叫delegation token的原因。
可以通过查询 sys.dm_exec_connections 动态管理视图来验证连接使用的是否为 Kerberos。
简单地说就是找两个很大的质数。一个对外公开的为“公钥”(Prblic key) ,另一个不告诉任何人,称为私钥”(Private key)。这两个密钥是互补的,也就是说用公钥加密的密文可以用私钥解密,反过来也一样。
到此,以上就是小编对于kerberos 命令的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。