Secure Web Proxy ポリシーの概要

このページでは、Secure Web Proxy ポリシーの送信元属性宛先属性について説明します。また、このページでは、Transmission Control Protocol(TCP)ルールベースのプロキシと、アプリケーションの TCP プロキシルールを構成する方法についても説明します。

Secure Web Proxy ポリシーは、次の 2 つのパラメータに基づいています。

デフォルトでは、Secure Web Proxy は、Secure Web Proxy インスタンスのポリシーに特定のルールを含めない限り、プロキシ経由のすべての外向きウェブ トラフィック(HTTP または HTTPS)を拒否するように設定されています。

ポリシーのソース属性

次の属性を使用して、Secure Web Proxy インスタンスでトラフィックの送信元を識別できるようにします。

  • サービス アカウント: サービス アカウントを使用して、トラフィック ソースを識別し、Secure Web Proxy ポリシーを構成します。
  • 安全なタグ: Resource Manager タグを使用して、 Google Cloud リソースへのアクセスを制御します。
  • IP アドレス: Secure Web Proxy がアウトバウンド トラフィックに使用するエンタープライズ IP アドレス(または静的 Google Cloud IP アドレス)を割り当てます。

サポートされている ID

ソース ID ベースのセキュリティ ポリシー(サービス アカウントとセキュアタグ)を使用して、複数の Google Cloud サービスのウェブ トラフィックを保護できます。次の表に、送信元 ID ベースのセキュリティ ポリシーを使用する場合にさまざまな Google Cloud サービスがサポートされるかどうかを示します。

Google Cloud サービス サービス アカウントのサポート セキュアタグのサポート
VM
GKE ノード
GKE コンテナ 1 1
Cloud Run のダイレクト VPC 1
サーバーレス VPC アクセス コネクタ 2 2
Cloud VPN 1 1
オンプレミスの Cloud Interconnect 1 1
アプリケーション ロードバランサ
ネットワーク ロードバランサ
1 Google Cloudではサポートされていません。
2 送信元 IP アドレスは一意であるため、代わりに使用できます。

次の表に、送信元 ID ベースのセキュリティ ポリシーを使用する場合にさまざまな Virtual Private Cloud(VPC)アーキテクチャがサポートされるかどうかを示します。

VPC VPC アーキテクチャ サポート
VPC 内 プロジェクト間(共有 VPC)
VPC 内 リージョン間
VPC 間 ピアリング間リンク(ピア VPC)
VPC 間 Private Service Connect 間
VPC 間 Network Connectivity Center スポーク間

ポリシーの宛先属性

Secure Web Proxy を使用すると、宛先ドメインと URL の完全パス(TLS インスペクションが有効になっている場合)に基づいて、アプリケーションのポリシーを構成できます。

次の属性を使用して、Secure Web Proxy インスタンスで許可されるトラフィックの宛先を決定できるようにします。

  • 宛先ポート: Secure Web Proxy インスタンスがトラフィックを送信するアップストリーム ポート。詳細については、SessionMatcherApplicationMatcher で使用可能な属性をご覧ください。
  • URL リスト: URL リストを使用して、ユーザーがアクセスできる URL を定義します。詳細については、URL リストをご覧ください。

HTTP ベースの宛先トラフィックの場合は、アプリケーションの host() 宛先属性を使用できます。

HTTPS ベースの宛先トラフィックの場合、アプリケーションにさまざまな request.* 宛先関連属性(request.method など)を使用できます。

HTTP トラフィックと HTTPS トラフィックに使用できる宛先属性の詳細については、属性をご覧ください。

TCP プロキシルール

Secure Web Proxy インスタンスを使用すると、ウェブ プロトコルに関連付けられていないトラフィックを含む、Transmission Control Protocol(TCP)トラフィックのプロキシルールを構成できます。たとえば、80(HTTP)または 443(HTTPS)以外のポートからトラフィックを送信するウェブサイトやアプリケーションのトラフィックを許可またはブロックできます。

ワークロード(アプリケーションやサービスなど)で Secure Web Proxy をネクストホップとして使用する場合は、TCP プロキシルールを適用するとメリットがあります。これは、ルートベースのリダイレクト プロセスを使用すると、HTTP(S) 以外のトラフィックとウェブ トラフィック以外のトラフィックが Secure Web Proxy インスタンスに転送されるためです。これにより、悪意のあるトラフィックがアプリケーションに到達するのをブロックし、ネットワークにアクセスできるアプリケーションやウェブサイトを制御できます。

アプリケーションの TCP プロキシルールを構成する

TCP プロキシルールを実装し、アプリケーションのトラフィックを許可またはブロックするルールを作成するには、宛先ポートを指定する必要があります。必要に応じて、次の SessionMatcher 属性を含めて、許可ルールまたはブロックルールの条件を絞り込むことができます。

属性 属性タイプ 説明
source.ip 文字列 リクエストを送信したクライアントの IP アドレス。
source.port 文字列 リクエストを送信したクライアント ポート。
destination.port 文字列 Secure Web Proxy インスタンスがトラフィックを送信するアップストリーム ポート。
source.matchTag(SECURE_TAG) ブール値

ソースが SECURE_TAG に関連付けられている場合は、True

引数は、セキュアタグの永続 ID です(source.matchTag('tagValues/123456') など)。

source.matchServiceAccount(SERVICE_ACCOUNT) ブール値 ソースが SERVICE_ACCOUNTsource.matchServiceAccount('x@my-project.iam.gserviceaccount.com') など)に関連付けられている場合は、True
inIpRange(IP_ADDRESS,
IP_RANGE)
ブール値 IP_ADDRESSIP_RANGE に含まれている場合(inIpRange(source.ip, '1.2.3.0/24') など)は True。IPv6 アドレスのサブネット マスクは /64 以下にする必要があります。

制限事項

Secure Web Proxy では、User Datagram Protocol(UDP)アプリケーションの TCP プロキシルールを構成することはできません。その結果、Secure Web Proxy は UDP ベースのアプリケーションのトラフィックをブロックします。

ホスト マッチング ルール

Secure Web Proxy インスタンスの下り(外向き)ルールを構成する場合は、アウトバウンド リクエストの宛先ホストに応じてルールを定義してください。また、Secure Web Proxy インスタンスのデプロイモードに基づいてホスト マッチングがどのように機能するかも考慮する必要があります。

明示的プロキシモード

  • 暗号化されていない HTTP リクエストの場合は、SessionMatcherhost() == "myownpersonaldomain.com" ルールを使用できます。Secure Web Proxy は、HTTP リクエストの CONNECT ヘッダーの host フィールドに対してこのルールを検証します。

  • TLS インスペクションを有効にして、Application Matcher に基づいてルールを設定する場合は、TRUE に評価される SessionMatcher ルールを設定する必要があります。たとえば、SessionMatcherhost() == "myownpersonaldomain.com" ルールを使用し、ApplicationMatcherrequest.host() == "myownpersonaldomain.com" ルールを追加できます。

    Secure Web Proxy は、まず HTTP リクエストの CONNECT ヘッダーの host フィールドに対して SessionMatcher を検証します。SessionMatcher ルールが有効な場合にのみ、Secure Web Proxy は ApplicationMatcher ルールを検査します。

ネクストホップ モード

  • 暗号化されていない HTTP リクエストの場合は、SessionMatcherhost() == "myownpersonaldomain.com" ルールを使用できます。Secure Web Proxy は、標準の HTTP リクエスト ヘッダーの host フィールドに対してこのルールを検証します。

    ただし、リクエストが TLS で暗号化されている場合、Secure Web Proxy はアウトバウンド リクエストの Server Name Indication(SNI)ヘッダーに対して同じルールを検証します。

  • TLS インスペクションを有効にして、ApplicationMatcher に基づいてルールを設定する場合は、TRUE に評価される SessionMatcher ルールを設定する必要があります。たとえば、SessionMatcherhost() == "myownpersonaldomain.com" ルールを使用し、ApplicationMatcherrequest.host() == "myownpersonaldomain.com" ルールを追加できます。

    Secure Web Proxy は、まず送信リクエストの SNI ヘッダーに対して SessionMatcher を検証します。また、SessionMatcher ルールが有効な場合にのみ、Secure Web Proxy は ApplicationMatcher ルールを検査します。