Share via


Azure Database for PostgreSQL - フレキシブル サーバーでのトランスポート層セキュリティを使用した暗号化された接続

適用対象: Azure Database for PostgreSQL - フレキシブル サーバー

Azure Database for PostgreSQL フレキシブル サーバーでは、トランスポート層セキュリティ (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 接続の適用が有効になっています。

Note

既定では、クライアントとサーバーの間で、保護された接続を強制します。 Azure Database for PostgreSQL フレキシブル サーバーに接続するために TLS/SSL を無効にする場合は、サーバー パラメーター require_secure_transportを OFF変更できます。 ssl_max_protocol_version サーバー パラメーターを設定することで、TLS バージョンを設定することもできます。

TLS/SSL 接続のために証明書の検証を必要とするアプリケーション

安全に接続するために、信頼された証明機関 (CA) 証明書ファイルから生成されたローカルの証明書ファイルがアプリケーションに必要な場合があります。 Azure Database for PostgreSQL フレキシブル サーバーでは、DigiCert グローバル ルート CA が使用されます。 DigiCert Global Root CA から SSL 経由で通信するために必要なこの証明書をダウンロードし、証明書ファイルを希望する場所に保存します。 たとえば、このチュートリアルでは c:\ssl を使用します。

psql を使用した接続

プライベート アクセス (VNet 統合) を使用して Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成した場合は、サーバーと同じ VNet 内のリソースからサーバーに接続する必要があります。 仮想マシンを作成し、Azure Database for PostgreSQL フレキシブル サーバー インスタンスで作成された VNet に追加できます。

パブリック アクセス (許可された 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"

Note

sslrootcert に渡された値が、保存済みの証明書のファイル パスと一致することを確認します。

アプリケーションまたはフレームワークが TLS 接続をサポートしているかどうかの確認

データベース サービスに PostgreSQL を使用しているアプリケーション フレームワークの中には、インストール時に既定で TLS が有効にならないものもあります。 Azure Database for PostgreSQL フレキシブル サーバー インスタンスは TLS 接続を強制しますが、アプリケーションが TLS 用に構成されていない場合、アプリケーションはデータベース サーバーへの接続に失敗する可能性があります。 TLS 接続を有効にする方法については、使用しているアプリケーションのドキュメントを参照してください。

次のステップ