トランスポート層セキュリティ (TLS) (以前は Secure Sockets Layer (SSL) と呼ばれる) を使用して、クライアント アプリケーションを Azure Database for PostgreSQL フレキシブル サーバー インスタンスに接続できます。 TLS は、データベース サーバーとクライアント アプリケーション間の暗号化されたネットワーク接続を保証する業界標準のプロトコルであり、コンプライアンス要件に準拠できます。
Azure Database for PostgreSQL では、トランスポート層セキュリティ (TLS 1.2 以降) を使用した暗号化接続がサポートされています。 TLS 1.0 と TLS 1.1 を使用してトラフィックを暗号化しようとするすべての受信接続は拒否されます。
すべての Azure Database for PostgreSQL フレキシブル サーバー インスタンスで、TLS 接続の適用が有効になります。
注
既定では、クライアントとサーバーの間にセキュリティで保護された接続が適用されます。 TLS/SSL の適用を無効にして、暗号化されたクライアント通信と暗号化されていないクライアント通信の両方を許可する場合は、サーバー パラメーターの require_secure_transport を OFFに変更できます。
ssl_max_protocol_version サーバー パラメーターを設定して、TLS バージョンを設定することもできます。
Important
2025 年 11 月 11 日から、次の一覧の Azure リージョンは、新しい中間 CA 証明書を使用する TLS/SSL 証明書ローテーションに向けて計画されています。
- 米国中西部
- 東アジア
- 英国南部
2026 年 1 月 19 日以降、このローテーションは、Azure Government とその他のすべてのリージョンを含む、残りのすべての Azure リージョンに拡張される予定です。
トラブルシューティングの詳細については、「証明書の ピン留めの問題」を参照してください。
TLS/SSL 接続に証明書の検証を必要とするアプリケーション
場合によっては、アプリケーションが安全に接続できるように、信頼された証明機関 (CA) 証明書ファイルから生成されたローカル証明書ファイルが必要な場合があります。 ルート CA 証明書のダウンロードの詳細については、「 クライアントでの SSL の構成」を参照してください。
クライアント アプリケーション証明書ストアを新しいルート CA 証明書で更新する方法の詳細については、このハウツー ドキュメントに記載されています。
注
Azure Database for PostgreSQL では、 カスタム SSL\TLS 証明書はサポートされていません。
psql を使用して接続する
プライベート アクセス (VNet 統合) ネットワーク モードで Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成した場合は、サーバーと同じ仮想ネットワーク内のリソースから、またはサーバーが統合されている仮想ネットワークにトラフィックをルーティングできるリソースからサーバーに接続する必要があります。
パブリック アクセス (許可された IP アドレス) を使用して Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成した場合は、パブリック IP アドレスを使用してファイアウォール規則を追加して、サーバーへの接続を許可することができます。 または、インスタンスにプライベート エンドポイントを作成し、そのプライベート エンドポイント経由で接続することもできます。
次の例は、psql コマンド ライン インターフェイスを使用してサーバーに接続する方法を示しています。
sslmode=verify-full接続文字列の設定を使用して、TLS/SSL 証明書の検証を適用します。 ローカル証明書ファイルのパスを sslrootcert パラメーターに渡します。
psql "sslmode=verify-full sslrootcert=c:\\ssl\DigiCertGlobalRootCA.crt.pem host=mydemoserver.postgres.database.azure.com dbname=postgres user=myadmin"
注
sslrootcertに渡された値が、保存した証明書のファイル パスと一致することを確認します。
アプリケーションまたはフレームワークが TLS 接続をサポートしていることを確認する
データベース サービスに PostgreSQL を使用する一部のアプリケーション フレームワークでは、インストール時に TLS が既定で有効になりません。 Azure Database for PostgreSQL フレキシブル サーバー インスタンスは TLS 接続を強制しますが、アプリケーションが TLS 用に構成されていない場合、アプリケーションはデータベース サーバーへの接続に失敗する可能性があります。 TLS 接続を有効にする方法については、アプリケーションのドキュメントを参照してください。