Apache trino的ldap认证开启

avatar
作者
猴君
阅读量:2

作者:櫰木

1、背景

由于trino 默认没有开启用户认证体系,需要ldap用户进行认证。开启tls和ldap用户认证,提高安全性。

2、配置

前置条件。

trino 集群已经部署完成

ldap 服务

openjdk 版本大于11.0.17

生成证书

keytool -genkeypair -validity 36500 -ext SAN=IP:172.16.104.226,DNS:hd1.dtstack.com -alias trino -keypass admin@123 -storepass admin@123 -keyalg RSA -dname CN=hd1.dtstack.com,OU=,O=,L=,ST=,C= -keystore trino.jks 

将证书复制每个节点的到trino目录

配置每个节点配置以下内容

config.properties

http-server.https.enabled=true
http-server.https.port=8443
http-server.https.keystore.path=/opt/trino/etc/trino.jks
http-server.https.keystore.key=admin@123
internal-communication.shared-secret=abc123
internal-communication.https.required=true

http-server.https.secure-random-algorithm=SHA1PRNG
http-server.authentication.allow-insecure-over-http=true

配置认证配置文件 (本次使用的是openldap)

etc/password-authenticator.properties

password-authenticator.name=ldap
ldap.url=ldap://hd.dtstack.com:389
#ldap.ssl.truststore.path=/path/to/ldap_server.pem
#ldap.user-bind-pattern=
#ldap.user-bind-pattern= U S E R @ D T S T A C K . C O M l d a p . u s e r − b a s e − d n = c n = a c c o u n t s , d c = d t s t a c k , d c = c o m l d a p . u s e r − b i n d − p a t t e r n = u i d = {USER}@DTSTACK.COM ldap.user-base-dn=cn=accounts,dc=dtstack,dc=com ldap.user-bind-pattern=uid= USER@DTSTACK.COMldap.userbasedn=cn=accounts,dc=dtstack,dc=comldap.userbindpattern=uid={USER},cn=users,cn=accounts,dc=dtstack,dc=com
#ldap.bind-dn=uid=admin,cn=users,cn=accounts,dc=dtstack,dc=com
#ldap.bind-password=admin123
ldap.allow-insecure=true

重启对应服务

3、验证

通过https登录访问coordinator节点
请添加图片描述

使用trinocli进行测试

trino-cli --server https://hd1.dtstack.com:8443 --keystore-path /opt/trino/etc/trino.jks --keystore-password admin@123 --catalog hive --user test --password

更多技术信息请查看云掣官网https://yunche.pro/?t=yrgw

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!