SSL / TLS 証明書を使用して承認する

このページでは、Cloud SQL でセルフマネージド セキュア ソケット レイヤ(SSL)/ Transport Layer Security(TLS)証明書を使用して Cloud SQL インスタンスに安全に接続する方法について説明します。

概要

Cloud SQL では、Transport Layer Security(SSL / TLS)プロトコルを使用したインスタンスへの接続がサポートされています。これらの物理的境界の内部で転送されるデータについては、認証は通常行われますが、暗号化はデフォルトでは行われない場合があります。パブリック IP アドレスを使用してインスタンスに接続する場合は、SSL / TLS 証明書を適用して、転送中のデータを保護する必要があります。SSL / TLS は、インターネット経由で送信されるデータを暗号化するための標準プロトコルです。データが暗号化されていない場合、パケットを調べ、機密情報を読み取とることが誰にでも可能になってしまいます。

SSL / TLS 証明書

SSL 接続では、サーバー認証局(CA)証明書が必須です。Cloud SQL では、お客様がインスタンスを作成した時点で、サーバー証明書が自動的に作成されます。サーバー証明書は、有効である限り、お客様が積極的にサーバー証明書を管理する必要はありません。ただし、証明書には 10 年間の有効期限があり、期限が切れた証明書は無効になります。そうなると、クライアントでは、その証明書を使用したインスタンスへの安全な接続が確立できなくなります。新しい証明書を手動で作成することもできます。

サーバー証明書のローテーションの仕組み

Cloud SQL では、サーバー証明書をローテーションして、古い証明書が期限切れになる前に新しい証明書とシームレスに交換できます。

Cloud SQL インスタンスのサーバー証明書が期限切れになる約 3 か月前に、プロジェクト オーナーは、そのインスタンスに対する証明書ローテーション プロセスが開始されたことを知らせるメールを Cloud SQL から受信します。メールにはインスタンスの名前が示され、Cloud SQL によって新しいサーバー証明書がプロジェクトに追加されたことが通知されます。既存のサーバー証明書は引き続き通常どおり機能します。事実上、インスタンスにはこの間、2 つのサーバー証明書があります。

現在の証明書が期限切れになる前に、新しい server-ca.pem ファイルをダウンロードします。このファイルには、現在のサーバー証明書と新しいサーバー証明書の両方の証明書情報が含まれています。すべての SQL Server クライアント ホストマシンに新しいファイルをコピーして、既存のファイルと置き換え、新しいファイルを使用するように SQL Server クライアントを更新します。

すべての SQL Server クライアントが更新されたら、Cloud SQL インスタンスにコマンドを送信し、新しいサーバー証明書のローテーションを行います。この処理が完了すると、古いサーバー証明書は認識されなくなり、新しいサーバー証明書のみが使用されるようになります。

SSL / TLS 暗号化を適用する

SSL を適用すると、すべての接続が暗号化されます。

承認済みネットワークを使用する

Cloud SQL インスタンスでパブリック IP アドレスを使用している場合は、SSL / TLS を構成するときに SQL Server クライアントの IP アドレスを承認済みネットワークとして追加する必要があります。

この場合、SQL Server クライアントは IP アドレスがこのリストに追加されている場合にのみ、接続を承認されます。IP アドレスは、単一のエンドポイントに制限することも、CIDR 形式の範囲にすることもできます。たとえば、10.50.51.310.50.51.0/26 です。

SSL 証明書の有効期限

Cloud SQL インスタンスに関連付けられた SSL 証明書の有効期限は 10 年です。有効期限が切れたら、SSL 証明書のローテーションを行います。また、Cloud SQL インスタンスの SSL 構成はいつでもリセットできます。

次のステップ