密碼檔案驗證

Presto 可以設定為透過 HTTPS 為用戶端啟用前端密碼驗證,例如 CLI 或 JDBC 和 ODBC 驅動程式。系統會根據儲存在檔案中的使用者名稱和密碼來驗證使用者名稱和密碼。

密碼檔案驗證與LDAP 驗證非常相似。請參閱 LDAP 文件,以取得關於設定伺服器和用戶端以使用 TLS 以及使用使用者名稱和密碼進行驗證的一般說明。

密碼驗證器設定

在協調器上建立 etc/password-authenticator.properties 檔案,以啟用密碼檔案驗證

password-authenticator.name=file
file.password-file=/path/to/password.db

下列組態屬性可用

屬性

描述

file.password-file

密碼檔案的路徑。

file.refresh-period

重新載入密碼檔案的頻率。預設為 5s

file.auth-token-cache.max-size

快取的已驗證密碼的最大數量。預設為 1000

密碼檔案

檔案格式

密碼檔案包含使用者名稱和密碼的清單,每行列出一個,並以冒號分隔。密碼必須使用 bcrypt 或 PBKDF2 安全地雜湊。

bcrypt 密碼以 $2y$ 開頭,且必須使用至少 8 的成本

test:$2y$10$BqTb8hScP5DfcpmHo5PeyugxHz5Ky/qf3wrpD7SNm8sWuA3VlGqsa

PBKDF2 密碼由迭代計數組成,後接十六進位編碼的鹽值和雜湊值

test:1000:5b4240333032306164:f38d165fce8ce42f59d366139ef5d9e1ca1247f0e06e503ee1a611dd9ec40876bb5edb8409f5abe5504aab6628e70cfb3d3a18e99d70357d295002c3d0a308a0

建立密碼檔案

可以使用來自Apache HTTP 伺服器htpasswd 公用程式建立使用 bcrypt 格式的密碼檔案。必須指定成本,因為 Presto 強制執行比預設值更高的最低成本。

建立一個空的密碼檔案以開始使用

touch password.db

新增或更新使用者 test 的密碼

htpasswd -B -C 10 password.db test