基于连接器配置,所有工作人员在目录文件夹下共享相同的连接器配置,这意味着它将为任何 presto 集群用户使用相同的连接器配置。例如,来自 prestosql user1 和 user2 的查询将使用相同的 jdbc 查询配置。但是,传统的 RDBMS ACL 是基于 JDBC 配置中的用户名来支持隔离的。例如,user1 将使用jdbc:mysql://user1@host:3306而 user2 将使用jdbc:mysql://user2@host:3306。
问题:是否有任何指示或方向来支持同一个 presto 集群内的会话级连接器配置?例如,当用户 1 运行查询时,它会jdbc:mysql://user1@host:3306在使用 mysql 连接器时拾取,而当用户 2 运行jdbc:mysql://user2@host:3306连接到 mysql 的查询时,它可以切换到。
我愿意接受任何设计输入,例如使用诸如 consul 或 etcd 之类的集中配置管理工具。
您可以为 MySQL 连接器目录属性文件配置此项:
user-credential-name=mysql_user
password-credential-name=mysql_password
Run Code Online (Sandbox Code Playgroud)
这允许用户提供 MySQL 用户名和密码作为在运行 Presto 查询时直接传递到后端 MySQL 服务器的额外凭据:
presto --extra-credential mysql_user=user1 --extra-credential mysql_password=secret
Run Code Online (Sandbox Code Playgroud)
凭证名称mysql_user和mysql_password是任意的,并为您提供如何配置它的灵活性。例如,假设您有两个 MySQL 目录指向两个不同的 MySQL 服务器。如果两个服务器共享相同的用户,那么您将使用相同的凭据名称配置两个目录,从而允许对两者使用相同的凭据。如果它们不同,那么您可以对它们进行不同的命名,例如,mysql1_user和mysql2_user,允许用户为每个目录提供不同的凭据。
| 归档时间: |
|
| 查看次数: |
386 次 |
| 最近记录: |