PrestoDB如何创建用户名密码实现类Oracle/MariaDB的账密连接
PrestoDB 用户名密码连接配置解答
PrestoDB 完全支持账号密码形式的认证连接,可直接适配你方DBtool强制要求传用户名密码的连接规则,具体实现逻辑和配置方法如下:
- 你当前能在DBeaver无密码连通,是因为Presto默认启动时使用无认证模式,允许任意用户名、空密码接入,该模式不符合生产环境和第三方工具的安全校验要求。
- 若仅需满足内部工具对接的账号密码校验需求,无需对接第三方认证系统的话,优先选用Presto内置的文件型密码认证器,配置最轻量。
具体配置步骤
- 协调器节点开启密码认证
找到Presto协调器节点的配置目录etc/,编辑config.properties文件,添加/修改认证配置项:
注意:Presto的密码认证强制要求走HTTPS协议,必须提前为协调器配置SSL证书,生成JKS格式密钥库后填入上述配置。http-server.authentication.type=PASSWORD http-server.https.enabled=true http-server.https.port=8443 http-server.https.keystore.path=/path/to/your/keystore.jks http-server.https.keystore.password=对应密钥库密码 - 配置密码存储文件
在etc/目录下新建password-authenticator.properties文件,指定使用文件型认证源:
生成password-authenticator.name=file file.password-file=/path/to/password.dbpassword.db文件,每行存储一个账号,格式为用户名:bcrypt加密后的密码串,可以使用htpasswd工具生成加密后的密码条目,例如为DBtool对接创建专用账号:dbtool_connector:$2y$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy - 连接参数适配
重启Presto协调器节点使配置生效后,在DBtool中创建连接时,填入你在密码文件中配置的用户名、密码,JDBC连接串指定SSL参数即可,示例连接串:jdbc:presto://<你的Presto协调器IP>:8443/<默认catalog>/<默认schema>?SSL=true
如果你们后续有统一账号管控需求,也可以将Presto的认证源切换为LDAP,直接复用内部统一账号体系,无需单独维护本地密码文件,配置逻辑和文件认证基本一致,仅需修改密码认证器的配置项指向内部LDAP服务即可。
内容的提问来源于stack exchange,提问作者doubleJ
相关产品推荐
相关产品推荐

