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

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

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

  • リージョン SSL ポリシー
    • リージョン外部アプリケーション ロードバランサ
    • リージョン内部アプリケーション ロードバランサ

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

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

SSL ポリシーを作成する

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

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

コンソール

リージョン SSL ポリシー

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

  1. Trusted 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 \
    --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. Trusted 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] \
    --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 ポリシーの一覧表示

コンソール

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

[SSL ポリシー] に移動

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

gcloud

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

  gcloud compute ssl-policies list --regions REGION

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

コンソール

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

    [SSL ポリシー] に移動

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

gcloud

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

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

SSL ポリシーを変更する

コンソール

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

  1. Trusted 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 \]
    --region REGION

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

コンソール

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

gcloud

リージョン 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 ポリシーを HTTPS プロキシに追加するには、次のコマンドを使用します。

  • 組織内でターゲット HTTPS プロキシのあるすべてのプロジェクトを探すには:

    gcloud asset search-all-resources \
        --scope=organizations/ORGANIZATION_ID \
        --asset-types=compute.googleapis.com/TargetHttpsProxy
    
  • プロジェクト内のすべての リージョン ターゲット HTTPS プロキシを一覧取得するには、includeAllScopes クエリ パラメータを true に設定して targetHttpsProxies.aggregatedList メソッドを使用します。次に、filter クエリ パラメータを使用して、SSL ポリシーを参照していないターゲット HTTPS プロキシを検索します。

    curl \
        'https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/aggregated/targetHttpsProxies?filter=sslPolicy%3D%22%22&includeAllScopes=true&key=YOUR_API_KEY' \
        --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
        --header 'Accept: application/json' \
        --compressed
    
  • 既存のリージョン 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 ポリシーを設定するには、regionTargetHttpsProxies.patch メソッドを使用します。

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

コンソール

gcloud

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

リージョン ターゲット 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 ポリシーを既存のターゲット プロキシに適用するをご覧ください。

SSL ポリシーを管理する

カスタム制約を使用して TLS 機能を制限する場合は、ターゲット SSL プロキシとターゲット HTTPS プロキシに適用されている既存の SSL ポリシーで TLS の対応状況を手動で確認します。

セキュリティ目標を満たしていない SSL ポリシーを検索して更新します。次のサンプル手順を使用します。

  • 組織内で SSL ポリシー リソースのあるすべてのプロジェクトを探すには:

    gcloud asset search-all-resources \
      --scope=organizations/ORGANIZATION_ID \
      --asset-types=compute.googleapis.com/SslPolicy
    
  • プロジェクト内のすべての リージョン SSL ポリシーを一覧取得するには、includeAllScopes クエリ パラメータを true に設定して sslPolicies.aggregatedList メソッドを使用します。次に、filter クエリ パラメータを使用して、セキュリティ目標に合わない SSL ポリシーを検索します。

    たとえば、TLS バージョンが 1.2 より小さい SSL ポリシーを探すには、フィルタ minTlsVersion="TLS_1_0" OR minTlsVersion="TLS_1_1" を使用します。

    curl \
    
      'https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/aggregated/sslPolicies?filter=minTlsVersion%3D%22TLS_1_0%22%20OR%20minTlsVersion%3D%22TLS_1_1%22&includeAllScopes=true&key=YOUR_API_KEY' \
      --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
      --header 'Accept: application/json' \
      --compressed
    

    API キーを取得するには、API キーを使用して認証するをご覧ください。アクセス トークンを取得するには、projects.serviceAccounts.generateAccessToken メソッドを使用します。

    次に、TLS の最小要件を満たしていない SSL ポリシーを更新します。

    リージョン SSL ポリシーを更新するには、次のコマンドを使用します。

    gcloud compute ssl-policies update SSL_POLICY_NAME \
      --min-tls-version=TLS_1_2 \
      --region REGION
    

上限

ロードバランサの割り当てと上限をご覧ください。

API リファレンス

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

プロダクト API ドキュメント
  • リージョン外部アプリケーション ロードバランサ
  • リージョン内部アプリケーション ロードバランサ
regionSslPolicies

gcloud CLI リファレンス

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

次のステップ