密码文件身份验证¶
Presto 可以配置为通过 HTTPS 为客户端启用前端密码身份验证,例如 CLI、JDBC 和 ODBC 驱动程序。用户名和密码将针对存储在文件中的用户名和密码进行验证。
密码文件身份验证与 LDAP 身份验证 非常相似。请参阅 LDAP 文档,以获取有关配置服务器和客户端以使用 TLS 并使用用户名和密码进行身份验证的一般说明。
密码验证器配置¶
通过在协调器上创建一个 etc/password-authenticator.properties
文件来启用密码文件身份验证。
password-authenticator.name=file
file.password-file=/path/to/password.db
以下配置属性可用
属性 |
描述 |
---|---|
|
密码文件的路径。 |
|
重新加载密码文件的频率。默认值为 |
|
缓存的身份验证密码的最大数量。默认值为 |
密码文件¶
文件格式¶
密码文件包含用户名和密码列表,每行一个,用冒号分隔。密码必须使用 bcrypt 或 PBKDF2 安全地进行散列。
bcrypt 密码以 $2y$
开头,并且必须使用至少 8
的成本
test:$2y$10$BqTb8hScP5DfcpmHo5PeyugxHz5Ky/qf3wrpD7SNm8sWuA3VlGqsa
PBKDF2 密码由迭代次数、十六进制编码的盐和散列组成。
test:1000:5b4240333032306164:f38d165fce8ce42f59d366139ef5d9e1ca1247f0e06e503ee1a611dd9ec40876bb5edb8409f5abe5504aab6628e70cfb3d3a18e99d70357d295002c3d0a308a0
创建密码文件¶
使用 htpasswd 实用程序(来自 Apache HTTP Server)可以创建使用 bcrypt 格式的密码文件。必须指定成本,因为 Presto 强制执行的最低成本高于默认成本。
创建一个空的密码文件以开始
touch password.db
添加或更新用户 test
的密码
htpasswd -B -C 10 password.db test