第 6章クライアント認証

目次
6.1. pool_hba.confファイル
6.2. 認証方式
6.2.1. trust認証
6.2.2. Clear Text Password Authentication
6.2.3. MD5パスワード認証
6.2.4. scram-sha-256認証
6.2.5. 証明書認証
6.2.6. PAM認証
6.2.7. LDAP認証
6.2.8. GSSAPI認証
6.3. フロンエンドとバックエンド認証に対する異なる認証方式の使用
6.4. pool_passwdにおけるAES256暗号化パスワードの使用
6.4.1. 暗号化パスワードエントリの作成
6.4.2. Pgpool-IIへの復号鍵の提供

Pgpool-IIPostgreSQLサーバとPostgreSQLデータベースクライアントの間で動作するミドルウェアであるため、クライアントアプリケーションがPgpool-IIに接続したときには、今度はPgpool-IIがクライアントが提供したのと同じ認証情報を使ってPostgreSQLサーバに接続します。 したがって、PostgreSQLのユーザに対し定義された全てのアクセス権限と制約が、自動的に全てのPgpool-IIクライアントに適用されます。 例外はクライアントのIPアドレスやホスト名に依存するPostgreSQL側での認証です。 それは、PostgreSQLサーバへの接続はPgpool-IIによって作られ、PostgreSQLサーバは実際のクライアントではなくPgpool-IIのIPアドレスしか見ることができないからです。 このため、クライアントホストに基づく認証のため、Pgpool-IIpg_hbaと同様にクライアント接続の認証処理を行うpool_hbaのメカニズムを持っています。

クライアントがPgpool-IIに接続する際の認証用のパスワードを管理するのがpool_passwdファイルです(詳細はpool_passwdをご覧ください。)pool_passwdに登録されるパスワードは、PostgreSQLに登録されるパスワードと一致している必要があります。PostgreSQLに登録されたパスワードを変更しても、pool_passwdのパスワードは自動変更されないことに注意してください。scram-shar-256認証MD5認証では、pool_passwdにユーザ名とパスワードを登録するのが必須ですが、clear text password認証では必須ではありません。このため、pool_passwdのパスワードの保守を避けたい場合には、clear text password認証の検討をお勧めします。