初期設定のステップ

このドキュメントでは、Secure Web Proxy を使用するために必要な初期設定の手順について説明します。

IAM のロールと権限を取得する

Secure Web Proxy インスタンスをプロビジョニングするために必要な権限を取得するには、プロジェクトに対する次の IAM ロールの付与を管理者に依頼してください。

  • ポリシーを構成して Secure Web Proxy インスタンスをプロビジョニングする: Compute ネットワーク管理者ロールroles/compute.networkAdmin
  • Secure Web Proxy の TLS 証明書を明示的にアップロードするには: Certificate Manager 編集者のロールroles/certificatemanager.editor
  • 分散トレースとテレメトリー ポリシーを構成する: ネットワーク サービス管理者ロールroles/networkservices.admin)または Compute ネットワーク管理者ロールroles/compute.networkAdmin
  • Cloud Trace でトレース スパンを表示するには: Cloud Trace ユーザー ロールroles/cloudtrace.user
  • トレース スパンを Trace にエクスポートするには、次のサービス アカウントに Cloud Trace エージェントのロールroles/cloudtrace.agent)を付与します。
    • Compute Engine サービス エージェント: service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
    • ネットワーク セキュリティ サービス エージェント: service-PROJECT_NUMBER@gcp-sa-networksecurity.iam.gserviceaccount.com
    • クライアント アプリケーションがスパンを生成または伝播する場合のクライアント仮想マシン(VM)サービス アカウント

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

省略可: Compute Engine 組織のセキュリティ ポリシーの管理を担当するユーザーがいる場合は、そのユーザーに Compute 組織のセキュリティ ポリシー管理者のロールroles/compute.orgSecurityPolicyAdmin)を付与します。

プロジェクトのロールと権限の詳細については、次のドキュメントをご覧ください。

Google Cloud プロジェクトを作成する

Google Cloud プロジェクトを作成または選択する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、プロジェクトの選択ページに移動します。

    プロジェクト セレクタに移動

  2. Google Cloud プロジェクトを作成するか、既存のプロジェクトを使用します。

gcloud

次のいずれかの手順に沿って対応してください。

  • Google Cloud プロジェクトを作成するには、gcloud projects create コマンドを使用します。

    gcloud projects create PROJECT_ID
    

    PROJECT_ID は、一意のプロジェクト ID に置き換えます。

  • 既存の Google Cloud プロジェクトを選択するには、gcloud config set コマンドを使用します。

    gcloud config set project PROJECT_ID
    

課金を有効にする

Google Cloud プロジェクトに対して課金が有効になっていることを確認します。詳細については、プロジェクトの課金を有効化、無効化、または変更するプロジェクトの課金ステータスを確認するをご覧ください。

必要な API を有効にする

コンソール

  1. Google Cloud コンソールで、[API へのアクセスの有効化] ページに移動します。

    API へのアクセスを有効にするに移動

    手順に沿って、必要な API(Compute Engine API、Certificate Manager API、Network Services API、Network Security API、Cloud Trace API)を有効にします。

  2. 省略可: プロキシの TLS インスペクションを構成する場合は、Certificate Authority Service API を有効にする必要があります。

    API の有効化に移動

gcloud

必要な Google Cloud API を有効にするには、gcloud services enable コマンドを使用します。

gcloud services enable \
    compute.googleapis.com \
    certificatemanager.googleapis.com \
    networkservices.googleapis.com \
    networksecurity.googleapis.com \
    privateca.googleapis.com \
    cloudtrace.googleapis.com

省略可: 必要に応じて、次の API を有効にします。

VPC サブネットを作成する

Secure Web Proxy インスタンスをデプロイするリージョンごとに、VPC ネットワークにサブネットを作成します。サブネットを以前に作成した場合は、purpose パラメータを PRIVATE に設定することで、VPC サブネットとして再利用できます。

gcloud

サブネットを作成するには、gcloud compute networks subnets create コマンドを使用します。

gcloud compute networks subnets create VPC_SUBNET_NAME \
    --purpose=PRIVATE \
    --region=REGION \
    --network=NETWORK_NAME \
    --range=IP_RANGE

次のように置き換えます。

  • VPC_SUBNET_NAME: VPC サブネットの名前
  • REGION: VPC サブネットをデプロイするリージョン
  • NETWORK_NAME: VPC ネットワークの名前
  • IP_RANGE: サブネット範囲(10.10.10.0/24 など)

プロキシ サブネットを作成する

Secure Web Proxy インスタンスをデプロイするリージョンごとにプロキシ サブネットを作成します。

最大 512 個のプロキシ専用アドレスを保存できるサブネット サイズ /23 を作成することをおすすめします。Secure Web Proxy は、この範囲を使用して一意の IP アドレスの専用プールを割り当てます。この予約済みプールにより、プロキシにスケーリングを処理し、VPC ネットワーク内の Cloud NAT や宛先と安全にやり取りするための十分な容量が確保されます。

gcloud

プロキシ サブネットを作成するには、gcloud compute networks subnets create コマンドを使用します。

gcloud compute networks subnets create PROXY_SUBNET_NAME \
    --purpose=REGIONAL_MANAGED_PROXY \
    --role=ACTIVE \
    --region=REGION \
    --network=NETWORK_NAME \
    --range=IP_RANGE

次のように置き換えます。

  • PROXY_SUBNET_NAME: プロキシ サブネットの名前
  • REGION: プロキシ サブネットをデプロイするリージョン
  • NETWORK_NAME: VPC ネットワークの名前
  • IP_RANGE: サブネット範囲(192.168.0.0/23 など)

TLS 証明書をデプロイする

Secure Web Proxy のデフォルトの最も基本的な機能(詳細な検査なしでポリシーを適用する)では Transport Layer Security(TLS)証明書が必要ないため、Secure Web Proxy では TLS(以前の SSL)証明書は省略可能です。

TLS 証明書は、クライアント(ネットワーク内のワークロード、アプリケーション、デバイス)が HTTPS を使用してプロキシに接続する場合にのみ、Secure Web Proxy に必要です。詳細については、SSL 証明書の概要をご覧ください。

Certificate Manager を使用して TLS 証明書をデプロイするには、次のいずれかの方法を使用します。

次の例は、Certificate Manager を使用してリージョン セルフマネージド証明書をデプロイする方法を示しています。

  1. TLS 証明書を作成します。

    openssl req -x509 -newkey rsa:2048 \
        -keyout KEY_PATH \
        -out CERTIFICATE_PATH -days 365 \
        -subj '/CN=SWP_HOST_NAME' -nodes -addext \
        "subjectAltName=DNS:SWP_HOST_NAME"
    

    次のように置き換えます。

    • KEY_PATH: 秘密鍵を保存するパス(~/key.pem など)
    • CERTIFICATE_PATH: 証明書を保存するパス(~/cert.pem など)
    • SWP_HOST_NAME: Secure Web Proxy インスタンスのホスト名(myswp.example.com など)
  2. TLS 証明書を Certificate Manager にアップロードする

  3. TLS 証明書をロードバランサにデプロイする

次のステップ