Web UI授权控制(用户只能看到自己的工作)
场景描述:
之前yarn的web界面不安全,任何用户都可以登录查看所有在yarn上跑的job。在集群的yarn服务在开启kerberos后,可以支持用户通过web界面只能查看自己的运行的job。浏览器通过kerberos认证过程取到对应用户,然后timeline2.0再进行job过滤实现。
问题原因:
浏览器作为客户端无法通过kerberos认证,所以无法访问对应web页面。
解决方法:
目前只有Firefox浏览器支持kerberos。我们基于该浏览器进行解决。
1.windows上安装MIT kerberos。
访问地址:https://web-cert.mit.edu/kerberos/dist/#kfw-4.1
64位:https://web-cert.mit.edu/kerberos/dist/kfw/4.1/kfw-4.1-amd64.msi
32位:https://web-cert.mit.edu/kerberos/dist/kfw/4.1/kfw-4.1-i386.msi
2、安装过程
点击下一步,点击开始安装
安装完成后,桌面可以看到对应的标志。(windows32位)
安装完成会有重启的提示,选择no,待会配置完成再重启
3、从HDP KDC Server节点的/etc目录下拷贝krb5.conf文件MIT Kerberos软件的安装目录,将krb5.conf改名为krb5.ini。放在配置文件(文件路径:"C:\Program Files\MIT\Kerberos\krb5.ini")
4、配置MIT Kerberos环境变量
C:\Program Files\MIT\Kerberos\bin;放在最前面,是因为java也有相同的命令,否则会默认调用java的命令
5、初始化keytab:
修改windows主机hosts映射:
C:\Windows\System32\drivers\etc
修改hosts文件添加集群主机的ip以及对应的hostname:
ip hostname
10.1.2.33 test1.ambari.com
10.1.2.34 test2.ambari.com
10.1.2.35 test3.ambari.com
6、未重启之前,使用win+r打开cmd,执行klist
7、重启后输入klist显示
8、在Firefox浏览器上启用MIT Kerberos
启动Firefox浏览器,在地址栏中输入“about:config”,查找如下参数进行修改:
network.negotiate-auth.trusted-uris 值改为服务器域名 xxxx,多个域名之间用逗号分隔
network.auth.use-sspi 改为fales
9、将keytabs的文件放在C:\Users\Administrator下
10、进行keytabs的认证
11、访问yarn的webui,发现可以访问成功
网友评论