このドキュメントでは、Secure Web Proxy を使用するために必要な初期設定の手順について説明します。
IAM のロールと権限を取得する
Secure Web Proxy インスタンスをプロビジョニングするために必要な権限を取得するには、プロジェクトに対する次の IAM ロールの付与を管理者に依頼してください。
- ポリシーを構成して Secure Web Proxy インスタンスをプロビジョニングするには: Compute ネットワーク管理者ロール(
roles/compute.networkAdmin) - Secure Web Proxy の TLS 証明書を明示的にアップロードするには: Certificate Manager 編集者のロール(
roles/certificatemanager.editor)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
省略可: Compute Engine 組織のセキュリティ ポリシーの管理を担当するユーザーがいる場合は、そのユーザーに Compute 組織のセキュリティ ポリシー管理者のロール(roles/compute.orgSecurityPolicyAdmin)を付与します。
プロジェクトのロールと権限の詳細については、次のドキュメントをご覧ください。
Google Cloud プロジェクトを作成する
Google Cloud プロジェクトを作成または選択する手順は次のとおりです。
コンソール
Google Cloud コンソールで、プロジェクトの選択ページに移動します。
Google Cloud プロジェクトを作成するか、既存のプロジェクトを選択します。
gcloud
次のいずれかの手順に沿って対応してください。
Google Cloud プロジェクトを作成するには、
gcloud projects createコマンドを使用します。gcloud projects create PROJECT_IDPROJECT_IDは、一意のプロジェクト ID に置き換えます。既存の Google Cloud プロジェクトを選択するには、
gcloud config setコマンドを使用します。gcloud config set project PROJECT_ID
課金を有効にする
Google Cloud プロジェクトに対して課金が有効になっていることを確認します。詳細については、プロジェクトの課金を有効化、無効化、または変更するとプロジェクトの課金ステータスを確認するをご覧ください。
必要な API を有効にする
コンソール
Google Cloud コンソールで、[API へのアクセスの有効化] ページに移動します。
手順に沿って、Compute Engine API、Certificate Manager API、Network Services API、ネットワーク セキュリティ API の必須 API を有効にします。
省略可: プロキシの TLS インスペクションを構成する場合は、Certificate Authority Service 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
省略可: プロキシの TLS インスペクションを構成する場合は、Certificate Authority Service(privateca.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 アドレスの専用プールを割り当てます。この予約済みプールにより、プロキシにスケーリングを処理し、Cloud NAT や VPC ネットワーク内の宛先と安全にやり取りするための十分な容量が確保されます。
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 を使用してリージョン セルフマネージド証明書をデプロイする方法を示しています。
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など)