シナリオ:PostgreSQL サーバーの認証

すべて表示 | すべて非表示

PostgreSQL サーバーの認証には TLS 証明書を使用することを推奨します。信頼できる証明機関(CA)の証明書または自己署名証明書を使用できます。自己署名証明書による保護は限られているため、信頼できる CA の証明書を使用します。

管理サーバーは、PostgreSQL に対して一方向および双方向の SSL 認証の両方をサポートします。

PostgreSQL の SSL 認証を設定するには、次の手順に従います:

  1. PostgreSQL サーバーの証明書を生成します。

    OpenSSL ベースのクロスプラットフォームユーティリティで、次のコマンドを実行します。

    openssl req -new -x509 -days 365 -nodes -text -out psql.crt -keyout psql.key -subj "/CN=psql"

    chmod og-rwx psql.key

  2. 管理サーバーの証明書を生成します。

    次のコマンドを実行します:CN 値は、管理サーバーの代わりに PostgreSQL に接続するユーザーの名前と一致する必要があります。ユーザー名は既定で postgres に設定されます。

    openssl req -new -x509 -days 365 -nodes -text -out postgres.crt -keyout postgres.key -subj "/CN=postgres"

    chmod og-rwx postgres.key

  3. クライアント証明書認証を設定します。

    pg_hba.conf を次のように変更します:

    hostssl all all 0.0.0.0/0 md5

    pg_hba.conf に host で始まるレコードが含まれていないことを確認してください。

  4. PostgreSQL の証明書を指定します。

    一方向 SSL 認証

    双方向 SSL 認証

  5. PostgreSQL デーモンを再起動します。

    次のコマンドを実行します:

    systemctl restart postgresql-14.service

  6. 管理サーバーのサーバーフラグを指定します。

    一方向 SSL 認証

    双方向 SSL 認証

  7. 管理サーバーサービスを再起動します。
ページのトップに戻る