SSL プロトコルと TLS プロトコルに SSL ポリシーを使用する

SSL ポリシーでは、Google Cloud ロードバランサがクライアントと SSL のネゴシエーションで使用する一連の SSL 機能を指定します。このドキュメントでは、SSL という用語は、SSL プロトコルと TLS プロトコルの両方を指します。

SSL ポリシーは、次のロードバランサでサポートされています。

  • グローバル SSL ポリシー
    • グローバル外部アプリケーション ロードバランサ
    • 従来のアプリケーション ロードバランサ
    • 外部プロキシ ネットワーク ロードバランサ(ターゲット SSL プロキシを使用)
    • クロスリージョン内部アプリケーション ロードバランサ
  • リージョン SSL ポリシー
    • リージョン外部アプリケーション ロードバランサ
    • リージョン内部アプリケーション ロードバランサ

SSL ポリシーの仕組みの詳細については、SSL ポリシーの概要をご覧ください。

HTTPS ロードバランサや SSL ロードバランサを作成する際、または作成後はいつでも、Google Cloud コンソールや Google Cloud CLI を使用して SSL ポリシーを作成できます。

リージョン SSL ポリシーを一覧表示、作成、管理するには、gcloud CLI バージョン 404 以降が実行されていることを確認してください。

SSL ポリシーを作成する

SSL ポリシーは、Google が管理するプロファイルまたはカスタム プロファイルを使用して作成できます。

Google 管理のプロファイルを使用した SSL ポリシーの作成

コンソール

グローバル SSL ポリシー

Google マネージド プロファイルを使用してグローバル SSL ポリシーを作成するには、次の手順を行います。

  1. Google Cloud コンソールで、[SSL ポリシー] ページに移動します。

    [SSL ポリシー] に移動

  2. [ポリシーを作成] をクリックします。

  3. グローバル SSL ポリシーの横にある [作成] ボタンをクリックします。[ポリシーの作成] ページが表示されます。

  4. 名前を入力します。

  5. [TLS の最小バージョン] を選択します。

  6. [プロフィール] で [互換]、[モダン]、または [制限付き] を選択します。プロファイルの [有効な機能] と [無効な機能] がページの右側に表示されます。

  7. ポリシーを追加するロードバランサがある場合は、[ターゲットに適用] をクリックして、SSL ポリシーのターゲットとして転送ルールを選択します。必要であれば、さらにターゲットを追加します。

  8. [作成] をクリックします。

リージョン SSL ポリシー

Google マネージド プロファイルを使用してリージョン SSL ポリシーを作成するには、次の操作を行います。

  1. Google Cloud コンソールで、[SSL ポリシー] ページに移動します。

    [SSL ポリシー] に移動

  2. [ポリシーを作成] をクリックします。

  3. リージョン SSL ポリシーの横にある [作成] ボタンをクリックします。[ポリシーの作成] ページが表示されます。

  4. 名前を入力します。

  5. リージョンを選択します。

  6. [TLS の最小バージョン] を選択します。

  7. [プロフィール] で [互換]、[モダン]、または [制限付き] を選択します。プロファイルの [有効な機能] と [無効な機能] がページの右側に表示されます。

  8. ポリシーを追加するロードバランサがある場合は、[ターゲットに適用] をクリックして、SSL ポリシーのターゲットとして転送ルールを選択します。必要であれば、さらにターゲットを追加します。

  9. [作成] をクリックします。

gcloud

グローバル SSL ポリシー

Google 管理のプロファイルを使用してグローバル SSL ポリシーを作成する場合の一般的な構文は次のとおりです。

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile COMPATIBLE | MODERN | RESTRICTED   \
    --min-tls-version 1.0 | 1.1 | 1.2

次のコマンドは、MODERN プロファイルでグローバル SSL ポリシーを作成します。

gcloud compute ssl-policies create my-ssl-policy \
    --profile MODERN \
    --min-tls-version 1.0

リージョン SSL ポリシー

Google 管理のプロファイルを使用してリージョン SSL ポリシーを作成する場合の一般的な構文は次のとおりです。

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile COMPATIBLE | MODERN | RESTRICTED \
    --min-tls-version 1.0 | 1.1 | 1.2 \
    --region REGION

次のコマンドは、COMPATIBLE プロファイルを使用してリージョン SSL ポリシーを作成します。

gcloud compute ssl-policies create my-ssl-policy \
    --profile COMPATIBLE \
    --min-tls-version 1.1 \
    --region us-west1

カスタム プロファイルを使用した SSL ポリシーの作成

コンソール

グローバル SSL ポリシー

カスタム プロファイルを使用してグローバル SSL ポリシーを作成するには、次の操作を行います。

  1. Google Cloud コンソールで、[SSL ポリシー] ページに移動します。

    [SSL ポリシー] に移動

  2. [ポリシーを作成] をクリックします。

  3. グローバル SSL ポリシーの横にある [作成] ボタンをクリックします。[ポリシーの作成] ページが表示されます。

  4. 名前を入力します。

  5. [TLS の最小バージョン] を選択します。

  6. [プロファイル] で、[カスタム] を選択します。すべての機能が、ページの右側の [無効な機能] に表示されます。

  7. [機能] のリストで、有効にする各暗号スイートを選択します。有効にした暗号スイートは、[有効な機能] としてリストされます。

  8. ポリシーを追加するロードバランサがある場合は、[ターゲットに適用] をクリックして、SSL ポリシーのターゲットとして転送ルールを選択します。必要であれば、さらにターゲットを追加します。

  9. [作成] をクリックします。

リージョン SSL ポリシー

カスタム プロファイルを使用してリージョン SSL ポリシーを作成するには、次の操作を行います。

  1. Google Cloud コンソールで、[SSL ポリシー] ページに移動します。

    [SSL ポリシー] に移動

  2. [ポリシーを作成] をクリックします。

  3. リージョン SSL ポリシーの横にある [作成] ボタンをクリックします。[ポリシーの作成] ページが表示されます。

  4. 名前を入力します。

  5. リージョンを選択します。

  6. [TLS の最小バージョン] を選択します。

  7. [プロファイル] で、[カスタム] を選択します。すべての機能が、ページの右側の [無効な機能] に表示されます。

  8. [機能] のリストで、有効にする各暗号スイートを選択します。有効にした暗号スイートは、[有効な機能] としてリストされます。

  9. ポリシーを追加するロードバランサがある場合は、[ターゲットに適用] をクリックして、SSL ポリシーのターゲットとして転送ルールを選択します。必要であれば、さらにターゲットを追加します。

  10. [作成] をクリックします。

gcloud

CUSTOM プロファイルを使用して SSL ポリシーを作成すると、create コマンドで指定した機能だけがサポートされます。他の機能はサポートされません。

グローバル SSL ポリシー

カスタム プロファイルでグローバル SSL ポリシーを作成するための一般的な構文は次のとおりです。

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile CUSTOM \
    --min-tls-version 1.0 | 1.1 | 1.2 \
    --custom-features SSL_FEATURE_1[,SSL_FEATURE_2,SSL_FEATURE_3]

次の例では、最小 TLS バージョン 1.2、および TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 の各機能を使用した CUSTOM プロファイルでグローバル SSL ポリシーを作成します。

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile CUSTOM \
    --min-tls-version 1.2 \
    --custom-features TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256

リージョン SSL ポリシー

カスタム プロファイルを使用してリージョン SSL ポリシーを作成する一般的な構文は次のとおりです。

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile CUSTOM \
    --min-tls-version 1.0 | 1.1 | 1.2 \
    --custom-features SSL_FEATURE_1[,SSL_FEATURE_2,SSL_FEATURE_3] \
    --region REGION

次の例では、最小 TLS バージョン 1.2、および TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 の各機能を使用した CUSTOM プロファイルでリージョン SSL ポリシーを作成します。

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile CUSTOM \
    --min-tls-version 1.2 \
    --custom-features TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 \
    --region us-west1

SSL ポリシーの一覧表示

コンソール

Google Cloud コンソールで、[SSL ポリシー] ページに移動します。

[SSL ポリシー] に移動

使用可能なすべての SSL ポリシーのリストを表示できます。[スコープ] フィールドは、SSL ポリシーがグローバルかリージョンかを示します。

gcloud

グローバル SSL ポリシーとリージョン SSL ポリシーの両方を一覧表示するには、次のコマンドを実行します。

  gcloud compute ssl-policies list

グローバル SSL ポリシーのみを一覧表示するには、次のコマンドを実行します。

  gcloud compute ssl-policies list --global

リージョン SSL ポリシーのみを一覧表示するには、次のコマンドを実行します。

  gcloud compute ssl-policies list --regions REGION

SSL ポリシーで使用可能な機能の一覧表示

コンソール

  1. Google Cloud コンソールで、[SSL ポリシー] ページに移動します。

    [SSL ポリシー] に移動

  2. 機能を表示するポリシーの名前をクリックします。有効または無効の暗号スイートのリストがページの右側に表示されます。

gcloud

グローバル SSL ポリシーで使用可能な機能を一覧表示するには:

gcloud compute ssl-policies list-available-features

リージョン SSL ポリシーで使用可能な機能を一覧表示するには:

gcloud compute ssl-policies list-available-features \
    --region REGION

SSL ポリシーを変更する

コンソール

グローバルまたはリージョンの SSL ポリシーを変更するには、次の操作を行います。

  1. Google Cloud コンソールで、[SSL ポリシー] ページに移動します。

    [SSL ポリシー] に移動

  2. 変更するポリシーの名前をクリックします。

  3. [編集] をクリックします。

  4. 必要な変更を行います。

  5. [保存] をクリックします。

gcloud

既存の SSL ポリシーを変更するには、更新するフィールドに対応するフラグのいずれかまたはすべてを渡します。未指定のフィールドは更新されません。

機能を更新すると、以前有効になっていた機能は削除され、指定した新しい機能に置き換えられます。

グローバル SSL ポリシー

gcloud compute ssl-policies update SSL_POLICY_NAME \
    --profile COMPATIBLE|MODERN|RESTRICTED|CUSTOM \
    --min-tls-version 1.0|1.1|1.2 \
    --custom-features FEATURES

リージョン SSL ポリシー

gcloud compute ssl-policies update SSL_POLICY_NAME \
    --profile COMPATIBLE|MODERN|RESTRICTED|CUSTOM \
    --min-tls-version 1.0|1.1|1.2 \
    [--custom-features FEATURES \]
    --region REGION

SSL ポリシーでターゲット プロキシを作成する

コンソール

次のドキュメントに示すように、ロードバランサの作成または更新時に、Google Cloud コンソールを使用してターゲット プロキシを作成できます。

gcloud

グローバル SSL ポリシーを使用してターゲット SSL プロキシを作成するには:

gcloud compute target-ssl-proxies create TARGET_SSL_PROXY_NAME \
  --backend-service BACKEND_SERVICE_NAME \
  --ssl-certificate SSL_CERTIFICATE_NAME \
  --ssl-policy SSL_POLICY_NAME

グローバル SSL ポリシーを使用してグローバル ターゲット HTTPS プロキシを作成するには:

gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
  --ssl-certificate SSL_CERTIFICATE_NAME \
  --url-map URL_MAP_NAME \
  --ssl-policy SSL_POLICY_NAME

リージョン SSL ポリシーを使用してリージョン ターゲット HTTPS プロキシを作成するには:

gcloud compute target-https-proxies create REGIONAL_TARGET_HTTPS_PROXY_NAME \
  --ssl-certificates SSL_CERTIFICATE_NAME \
  --url-map URL_MAP_NAME \
  --url-map-region REGION \
  --ssl-policy SSL_POLICY_NAME \
  --region REGION

既存のターゲット プロキシに既存の SSL ポリシーを追加する

コンソール

gcloud

既存の SSL ポリシーを SSL プロキシまたは HTTPS プロキシに追加するには、次のコマンドを使用します。

既存のグローバル SSL ポリシーをターゲット SSL プロキシに接続するには:

gcloud compute target-ssl-proxies update TARGET_SSL_PROXY_NAME \
    --ssl-policy SSL_POLICY_NAME

既存のグローバル SSL ポリシーをグローバル ターゲット HTTPS プロキシに追加するには:

gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \
    --ssl-policy SSL_POLICY_NAME

既存のリージョン SSL ポリシーをリージョン ターゲット HTTPS プロキシに追加するには:

gcloud compute target-https-proxies update REGIONAL_TARGET_HTTPS_PROXY_NAME \
    --ssl-policy SSL_POLICY_NAME \
    --region REGION

ターゲット プロキシ更新(たとえば SSL 証明書を更新するとき)では、--ssl-policy フラグや --clear-ssl-policy フラグを指定しないと、SSL ポリシーは変更されません。--clear-ssl-policy フラグについては、ターゲット プロキシから SSL ポリシーを削除するをご覧ください。

API

グローバル ターゲット プロキシにグローバル SSL ポリシーを設定するには、targetHttpsProxies.patch メソッドを使用します。

リージョン ターゲット プロキシにリージョン SSL ポリシーを設定するには、regionTargetHttpsProxies.patch メソッドを使用します。

ターゲット プロキシから SSL ポリシーを削除する

コンソール

gcloud

次のコマンドを使用して、SSL プロキシまたは HTTPS ロードバランサから SSL ポリシーを削除します。ターゲット プロキシに別の SSL ポリシーを追加しない場合、ロードバランサはデフォルトの SSL ポリシーを使用します。--clear-ssl-policy フラグを使用すると、SSL ポリシーをデフォルトの SSL ポリシーに置き換えることができます。

ターゲット SSL プロキシからグローバル SSL ポリシーを削除するには:

gcloud compute target-ssl-proxies update TARGET_SSL_PROXY_NAME \
    --clear-ssl-policy

グローバル ターゲット HTTPS プロキシからグローバル SSL ポリシーを削除するには:

gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \
    --clear-ssl-policy

リージョン ターゲット HTTPS プロキシからリージョン SSL ポリシーを削除するには:

gcloud compute target-https-proxies update REGIONAL_TARGET_HTTPS_PROXY_NAME \
    --clear-ssl-policy \
    --region REGION

更新コマンドで --clear-ssl-policy フラグを指定すると、SSL ポリシーはプロキシから削除されます。

--clear-ssl-policy フラグや --ssl-policy フラグをターゲット プロキシ更新(たとえば SSL コマンドを更新するとき)で指定しないと、SSL ポリシーは変更されません。--ssl-policy フラグについては、既存の SSL ポリシーを既存のターゲット プロキシに接続するをご覧ください。

上限

  • 1 プロジェクトにつき最大 10 の SSL ポリシーを設定できます。
  • 1 つのプロキシに複数の SSL ポリシーを構成することはできません。

API リファレンス

REST API で SSL ポリシーを操作する場合に使用できるプロパティとメソッドについては、以下をご覧ください。

プロダクト API ドキュメント
  • グローバル外部アプリケーション ロードバランサ
  • 従来のアプリケーション ロードバランサ
  • 外部プロキシ ネットワーク ロードバランサ
  • クロスリージョン内部アプリケーション ロードバランサ
sslPolicies
  • リージョン外部アプリケーション ロードバランサ
  • リージョン内部アプリケーション ロードバランサ
regionSslPolicies

gcloud CLI リファレンス

Google Cloud CLI については、以下をご覧ください。

次のステップ