Apache trino的ldap认证开启

櫰木1年前技术文章939

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=<Refer below for usage>
#ldap.user-bind-pattern=${USER}@DTSTACK.COM
ldap.user-base-dn=cn=accounts,dc=dtstack,dc=com
ldap.user-bind-pattern=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节点

20230827145326.jpg


使用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



相关文章

阿里金融云经典网络和线下某银行实现网络互通

阿里金融云经典网络和线下某银行实现网络互通

需求某银行需要和某阿里金融云账号下的经典网络实例内网打通。已知不考虑将该服务器从经典网络类型迁移至VPC类型。阿里金融云环境下,之前是支持拉线下到经典网络专线的,但是目前和阿里侧核查,确认已不支持,仅...

CDH实操--CDH5.8.2升级(一)

CDH实操--CDH5.8.2升级(一)

1、摘要和概述本次升级是从cdh5.8.2升级至cdh6.2.1,由于cm对cdh的兼容性,需要先升级cm,从5.8.2升级至至6.2.1。2、升级CM2.1 CM安装文件2.2 CDH安装文件2.3...

MySQL 8.0 新特性:Instant Add Column

MySQL 8.0 新特性:Instant Add Column

一、前言MySQL 8.0 支持 “快速加列” 功能,既添加字段时可以支持 “INSTANT” 快速完成。通过只修改数据字典的方法来实现大表快速加列,避免之前加列操作必须做的数据拷贝,从而大幅缩小大表...

PG的多版本并发控制(二)

PG的多版本并发控制(二)

二、 PG数据库DML操作的相关概念xmin、xmax、cmin、cmax是每个数据行tuple上的隐藏字段,主要用于区别不同事务以及相同事务内tuple的行版本。在了解这四个参数概念前,我们首先需要...

Linux解锁线程基本概念和线程控制,步入多线程学习的大门(1)

Linux解锁线程基本概念和线程控制,步入多线程学习的大门(1)

1、线程初识1.1线程的概念线程是进程内部的一个执行分支,线程是CPU调度的基本单位那什么是进程呢?我们之前学习了解到的进程是加载到内存中的程序进程 = 内核数据结构 + 进程代码和数据。今天我们要推...

PostgreSQL 命令行工具介绍

前言psql 是 PostgreSQL 自带的命令行交互客户端工具,类似于 MySQL 的 mysql -u -p 不过相当于 MySQL 的命令行工具 psql 功能更丰富些,例如单击 tab 自动...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。