PostgreSQLのSSLサポートの構成

SSLを有効にするには、PostgreSQL構成ファイル($PGDATA/postgresql.conf)で構成パラメータSSLonに設定します。SSLが有効である場合、対応するhostsslエントリがpg_hba.confファイル内に存在するか追加されている必要があります。

SSLが有効である場合、Oracle GoldenGateは次のスニペットに示すように、ルート証明書、ルート証明書失効リスト(CRL)、サーバー・クライアント証明書およびキーをデフォルトの場所から使用します。

~/.postgresql/root.crt
~/.postgresql/root.crl
~/.postgresql/postgresql.crt
~/.postgresql/postgresql.key

このリストから目的のエンティティを作成し、適切な場所に格納する必要があります。

デフォルト以外の場所を使用してSSL構成を設定する場合、次の環境変数を環境ごとに設定する必要があります。
PGSSLROOTCERT
PGSSLCRL
PGSSLCERT
PGSSLKEY

$ODBCINIファイルに必要な変更

SSLサポートは、$ODBCINIファイルでEncryptionMethod DSN属性を1または6に設定することにより有効にできます。

0 (暗号化なし)に設定すると、データは暗号化されません。

1 (SSL)に設定すると、「Crypto Protocol Version」接続オプションで指定されたSSLプロトコルを使用してデータが暗号化されます。指定された暗号化方法がデータベース・サーバーでサポートされていない場合は、接続に失敗してエラーが返されます。

6 (RequestSSL)に設定すると、サーバーがSSL用に構成されていれば、ログイン・リクエストおよびデータはSSLを使用して暗号化されます。サーバーがSSL用に構成されていない場合は、暗号化されていない接続が確立されます。使用するSSLプロトコルは、「Crypto Protocol Version」接続オプションの設定によって決まります。

データベース・サーバー/クライアントの証明書も検証する必要がある場合は、対応するKeyStoreファイルを作成し、指定したODBC DSN属性を$ODBCINIで適宜設定する必要があります。

KeyStore=<path to .p12 keystore file>
KeyStorePassword=<keystore-passwd>
TrustStore=<path to root certificate>
ValidateServerCertificate=1