Connection Manager Authentication#

Connection Managerの認証は、 Postgres独自の pg_hba.conf ファイルを介して構成されます。 Connection Managerは、Postgresと同じ認証方法を使用します。

Connection Manager接続タイプ#

接続マネージャーは、pg_hba.conf で次の接続タイプをサポートしています。

  • host - TCP/IP接続

  • hostssl - SSLを使用したTCP/IP接続

  • hostnossl - SSLを使用しないTCP/IP接続

Connection Managerの認証方法#

接続マネージャーは、pg_hba.conf で次の認証方法をサポートしています。

  • trust - 認証なし

  • reject - 接続を拒否する

  • md5 - MD5パスワード認証

  • scram-sha-256 - SCRAM-SHA-256パスワード認証

  • ldap - LDAPサーバーを使用して認証する

  • cert - SSL証明書認証。お勧めしません。 Using client certificate authentication を参照してください。

注釈

Connection Managerは、クライアントユーザーとしてPGDノードに対して認証できる必要があります。レプリケーションと内部通信のために他のPGDノードから発生した接続を受け入れるように、各PGDノードで`pg_hba.conf` ファイルを構成します。

証明書認証方法を使用する場合、接続マネージャーはサーバーキーを提示します。この証明書をConnection Managerアドレスから受け入れるようにPGDノードを構成する必要があります。

接続マネージャーは、キーがAES暗号化を使用したPKCS#8形式である場合、サーバーキーの復号化へのssl_passphrase_command の使用をサポートします。

Connection Managerでクライアント証明書cert 認証を使用しないことをお勧めします。

クライアント証明書は転送できません。したがって、cert 認証を使用する場合、PGDノードへのConnection Managerの接続は、 trust などの別の認証方法を使用するように構成する必要があります。

cert 認証を使用する場合、Connection ManagerはユーザーIDマッピングでpg_ident.conf をサポートします。

Connection Managerの認証オプション#

Connection Managerは、 pg_hba.conf のuser およびdatabase フィールドの正規表現マッチングもサポートしています。これにより、ユーザー名とデータベース名を照合するためのパターンを指定できるため、複数のユーザーとデータベースの認証の管理が簡単になります。

グループメンバーシップチェックもサポートされています。これにより、各ユーザーを個別に指定するのではなく、データベースに接続できるユーザーのグループを指定できます。

サポートされていないpg_hba.confルール#

ルールが接続マネージャーでサポートされていない場合、警告としてログに記録され、無視されます。

LDAP認証の注意事項と制約#

接続マネージャーは、次のキー制約付きで、PostgreSQLと同じLDAP認証機能をサポートします。

  • Connection Managerは、LDAPサーバーとの通信にOpenLDAPライブラリを使用しません。その結果、標準のOpenLDAP構成ファイル ldap.conf または.ldaprc など および環境変数は無視されます。

  • Connection Managerは、 LDAPSまたはLDAP StartTLSを使用する場合、デフォルトでLDAPサーバー証明書を検証します。 LDAPサーバーのSSL証明書に必要なCA証明書は、システムのトラストストアにある必要があります。

  • LDAPTLS_REQCERT=never 環境変数を設定することにより、LDAPサーバーのSSL証明書の検証を抑制します。この変数の他の値は無視されます。