Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

エグレスポリシー

最終更新 Markdown で表示Agent セットアップ

多くのサードパーティサービス(銀行やパートナー API など)は、既知の IP アドレス一覧からの接続だけを許可します。デフォルトでは、Cloudflare Gateway 経由で出ていくトラフィックの送信元 IP は、ほかの Cloudflare One Client ユーザーと共有されます。そのため、上流サービスは IP だけでは組織を識別できません。

専用エグレス IP がこの問題を解決します。アカウント専用の静的 IP アドレスで、上流の許可リストに追加できます。

エグレスポリシーは、接続ごとに使う専用エグレス IP を制御します。ユーザー ID、送信元または宛先 IP アドレス、地理位置情報などの属性でトラフィックを照合できます。エグレスポリシーに一致しないトラフィックは、いちばん性能の良い専用エグレス IP にフォールバックします。

Cloudflare は Cloudflare One Client のエグレス IP 範囲を公開していません。Cloudflare One Client のエグレス IP は Cloudflare の IP 範囲 にも載っていません。専用の Cloudflare One Client エグレス IP を取得するには、アカウント担当者に問い合わせてください。

負荷分散

エグレスポリシーに一致しないトラフィックは、いちばん近い Cloudflare データセンターから、デフォルトの Gateway エグレス IP で出ていきます。アカウントが専用エグレス IP を使う場合も、デフォルトの共有 IP を使う場合も同じです。

2 つのデータセンターがユーザーから等距離の場合、Gateway はそのあいだでトラフィックを分割します。ロードバランサーは、どのデータセンターがリクエストを処理しても、各ユーザーを同じエグレス IP に留めます。

IP バージョンを固定する

一部の上流サービスは、特定の IP バージョンの接続だけを受け付けます。エグレストラフィックを IPv4 または IPv6 だけに固定するには、先に DNS トラフィックをフィルタしていること を確認し、AAAA または A レコードをブロックする DNS ポリシーを作成します。

ポリシーの例

次のエグレスポリシーは、サードパーティネットワーク向けのトラフィックすべてに、静的な送信元 IP を使います。

ポリシー名 セレクター 演算子 エグレス方法
サードパーティプロバイダーへアクセス Destination IP is 198.51.100.158 専用 Cloudflare エグレス IP
プライマリ IPv4 アドレス IPv6 アドレス
203.0.113.88 2001:db8::/32

SaaS アプリケーションへのアクセスを保護する

多くの SaaS プロバイダー(Microsoft 365、Salesforce、Workday など)は、特定の IP アドレスからの接続にアクセスを制限できます。専用エグレス IP を Gateway と組み合わせて、この制限を適用できます。

  1. アカウント担当者から 専用エグレス IP を取得 し、割り当てられた IPv4 と IPv6 アドレスを控えます。
  2. SaaS プロバイダー向けのトラフィックを専用エグレス IP 経由で送る エグレスポリシーを作成 します。プロバイダーが公開している IP 範囲を Destination IP セレクターで指定します。あるいは、Application セレクター(Beta)でプロバイダー名に一致させる方法もあります。
  3. SaaS プロバイダーの許可リストにエグレス IP を追加 し、組織の IP からの接続だけを受け付けるようにします。
  4. HTTP ポリシーと組み合わせ、より細かい制御を追加します。たとえば、個人アカウントへのファイルアップロードをブロックする、DLP プロファイルで機密データの持ち出しを防ぐ、アクセス許可の前に デバイスポスチャチェック を必須にする、などです。

このパターンにより、SaaS アプリケーションへのアクセスは、セキュリティポリシーが適用される Gateway 経由のトラフィックに限定されます。SaaS プロバイダー側でも、トラフィックが自組織から来ていることを確認できます。

キャッチオールポリシー

キャッチオールポリシーがないと、明示的なエグレスポリシーに一致しないトラフィックは、いちばん近い専用エグレス IP のロケーションを使おうとします。想定外の IP 割り当てを避け、性能を保つには、残りのトラフィックをデフォルトの Zero Trust IP 範囲経由で送るキャッチオールポリシーを作成します。

ポリシー名 Selector Operator Value エグレス方法
Default egress policy Protocol in All options (Protocol) Cloudflare default egress method

Gateway ポリシーは UI で 上から下へ 評価されます。キャッチオールポリシーはリストの一番下に置き、より具体的なポリシーを先に評価します。

エグレス方法

エグレスポリシーを設定するとき、デフォルトの Cloudflare エグレス方法で出すか、専用エグレス IP で出すかを選べます。

デフォルトの Cloudflare エグレス方法を使う

Use default Cloudflare egress method は、すべての Zero Trust アカウントで共有されるデフォルトの送信元 IP 範囲経由でトラフィックを送ります。トラフィックは最寄りの Cloudflare データセンターから出ていくため、性能がいちばん良くなります。

専用エグレス IP を使う

Use dedicated egress IPs (Cloudflare or BYOIP) は、ドロップダウンで選んだプライマリ IPv4 アドレスと IPv6 範囲経由でトラフィックを送ります。

専用エグレス IP を使うエグレスポリシーを作成するときは、トラフィックの耐障害性を確保するためにセカンダリ IPv4 アドレスを設定する必要があります。セカンダリ IPv4 アドレスには 0.0.0.0 を指定するか、プライマリ IPv4 アドレスとは異なる Cloudflare ロケーションを指定できます。0.0.0.0 を設定すると、Gateway はユーザーにいちばん近いロケーションへトラフィックをルーティングします。プライマリ IPv4 アドレスの物理ロケーションが使えない場合、Gateway はデフォルトの Cloudflare エグレス範囲、または指定したセカンダリロケーションへトラフィックをルーティングします。

プライマリ IPv4 アドレスに紐づくデータセンターが停止すると、Gateway はセカンダリデータセンターへフェイルオーバーし、トラフィックの途切れを防ぎます。IPv6 トラフィックはどの Cloudflare データセンターからでも出ていけるため、セカンダリ IPv6 アドレスは不要です。Cloudflare が提供する IP を使うか、自前の IP アドレスを持ち込む(BYOIP) ことができます。

IPv4 と IPv6 のエグレス動作について詳しくは、エグレスロケーション を参照してください。

セレクター

セレクターは、Gateway がエグレストラフィックをポリシーと照合する条件です。Gateway は次のセレクターを評価します。

Application ベータ

人気の Web アプリケーションのリスト(随時追加されます)に対して、egress ポリシーを適用できます。詳細は アプリケーションとアプリタイプ を参照してください。

UI 名 API の例
Application any(app.ids[*] in {505})

このセレクターは、Traffic and DNS モード、PAC ファイル、または Browser Isolation にオンボードしたトラフィックでのみ使えます。詳細は セレクターの前提条件 を参照してください。

Content Categories ベータ

Cloudflare Radar が分類する、特定の セキュリティカテゴリ に属するアプリケーションです。

UI 名 API の例
Content Categories any(net.fqdn.content_category[*] in {1})

このセレクターは、Traffic and DNS モード、PAC ファイル、または Browser Isolation にオンボードしたトラフィックでのみ使えます。詳細は セレクターの前提条件 を参照してください。

Destination Continent

リクエストの宛先の大陸です。位置情報は、対象の IP アドレスから判定します。大陸を指定するには、Value フィールドに 2 文字のコードを入力します。

大陸 コード
アフリカ AF
南極 AN
アジア AS
ヨーロッパ EU
北アメリカ NA
オセアニア OC
南アメリカ SA
UI 名 API の例
Destination Continent IP Geolocation net.dst.geo.continent == "EU"

Destination Country

リクエストの宛先国です。地理位置情報は、対象の IP アドレスから判定します。国を指定するには、Value 欄に ISO 3166-1 Alpha 2 コード を入力します。

UI 名 API の例
Destination Country IP Geolocation net.dst.geo.country == "RU"

Destination IP

リクエストの宛先の IP アドレスです。

UI 名 API の例
Destination IP any(net.dst.ip[*] in {10.0.0.0/8})

Destination Port

リクエストの宛先ポート番号です。

UI 名 API の例
Destination Port net.dst.port == 2222

Device Posture

Device Posture セレクターを使うと、管理者はエンドユーザーデバイスからのシグナルに基づいて、内部および外部リソースへのアクセスを保護できます。たとえば、セキュリティ管理者は、特定のソフトウェアがデバイスにインストールされているか、デバイスやソフトウェアが特定の方法で設定されているかに応じて、内部アプリケーションへのアクセスをすべて制限できます。

デバイスポスチャチェックの詳細は、Device posture を参照してください。

UI 名 API の例
Passed Device Posture Checks any(device_posture.checks.failed[*] in {"1308749e-fcfb-4ebc-b051-fe022b632644"}), any(device_posture.checks.passed[*] in {"1308749e-fcfb-4ebc-b051-fe022b632644"})"

Domain ベータ

このセレクターは、ドメインとそのすべてのサブドメインに一致します。たとえば、example.comwww.example.com などのサブドメインに一致できます。

UI 名 API の例
Domain any(net.fqdn.domains[*] == "example.com")

Gateway ポリシーは、非ラテン文字を含む domain を直接はサポートしません。非ラテン文字を含む domain を使うには、リスト に追加します。

このセレクターは、Traffic and DNS モード、PAC ファイル、または Browser Isolation にオンボードしたトラフィックでのみ使えます。詳細は セレクターの前提条件 を参照してください。

Host

このセレクターは、指定したホスト名だけと照合します。たとえば、test.example.com には一致しますが、example.comwww.test.example.com には一致しません。

UI 名 API の例
Host net.fqdn.host == "example.com"

Gateway ポリシーは、非ラテン文字を含む hostname を直接はサポートしません。非ラテン文字を含む hostname を使うには、リスト に追加します。

このセレクターは、Traffic and DNS モード、PAC ファイル、または Browser Isolation にオンボードしたトラフィックでのみ使えます。詳細は セレクターの前提条件 を参照してください。

Protocol

パケットの送信に使うプロトコルです。

UI 名 API の例
Protocol net.protocol == "tcp"

Proxy Endpoint

ブラウザーが HTTP トラフィックを転送する プロキシサーバー です。

UI 名 API の例
Proxy Endpoint proxy.endpoint == "3ele0ss56t.proxy.cloudflare-gateway.com"

Source Continent

リクエストを送ったユーザーの大陸です。

位置情報は、デバイスのパブリック IP アドレス(通常はユーザーの ISP が割り当てます)から判定します。大陸を指定するには、Value フィールドに 2 文字のコードを入力します。

大陸 コード
アフリカ AF
南極 AN
アジア AS
ヨーロッパ EU
北アメリカ NA
オセアニア OC
南アメリカ SA
UI 名 API の例
Source Continent IP Geolocation net.src.geo.continent == "North America"

Source Country

リクエストを送ったユーザーの国です。

地理位置情報は、デバイスの公開 IP アドレス(通常はユーザーの ISP が割り当てます)から判定します。国を指定するには、ValueISO 3166-1 Alpha-2 コード を入力します。

UI 名 API の例
Source Country IP Geolocation net.src.geo.country == "RU"

Source Internal IP

このセレクターは、ユーザーのローカルネットワークが割り当てたプライベート IP アドレスから Gateway に届くリクエストに対して、egress ポリシーを適用します。

UI 名 API の例
Source Internal IP net.src.internal_src_ip == "192.168.86.0/27"

Source IP

Gateway がプロキシするデバイスの送信元 IP アドレスです。

UI 名 API の例
Source IP net.src.ip[*] in {10.0.0.0/8}

Source Port

Gateway がプロキシするデバイスの送信元ポートです。

UI 名 API の例
Source Port net.src.port == "2222"

Users

これらのセレクターは、ID 属性と照合します。

UI 名 API の例
User Email identity.email == "user@example.com"
User Name identity.name == "Test User"
User Group IDs any(identity.groups[*].id in {"group_id"})
User Group Names any(identity.groups[*].name in {"group_name"})
User Group Emails any(identity.groups[*].email in {"group@example.com"})
SAML Attributes any(identity.saml_attributes["http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"] in {"Test User"})

Virtual Network

このセレクターは、Cloudflare One Client 経由で特定の 仮想ネットワーク を通るすべてのトラフィックに一致します。

UI 名 API の例
Virtual Network net.vnet_id == "957fc748-591a-e96s-a15d-1j90204a7923"

比較演算子

比較演算子は、Gateway がトラフィックをセレクターと照合する方法です。ダッシュボードのポリシービルダーで Selector を選ぶと、Operator のドロップダウンに、そのセレクターで使える選択肢が表示されます。

演算子 意味
is 定義した値と等しい
is not 定義した値と等しくない
in 定義した値のいずれかと一致する
not in 定義した値のいずれとも一致しない
in list 定義済みの リスト に含まれる
not in list 定義済みの リスト に含まれない
matches regex 正規表現が true と評価される
does not match regex 正規表現が false と評価される
greater than 定義した数値を超える
greater than or equal to 定義した数値以上
less than 定義した数値未満
less than or equal to 定義した数値以下

単一の値を入力するか、正規表現で値の範囲を指定できます。

Gateway は正規表現の評価に Rust を使います。Rust の実装は、ほかで使われる正規表現ライブラリと少し異なります。正規表現が一致するか確認するには、Rustexp を使えます。

論理演算子

式内の複数の条件を評価するには、And 論理演算子を選びます。これらの式は、Or 論理演算子でさらに比較できます。

演算子 意味
And 式内のすべての条件に一致する
Or 式内のいずれかの条件に一致する

Or 演算子は、同じ式グループ内の条件に対してのみ使えます。たとえば、Traffic の条件と Identity or Device Posture の条件は比較できません。

制限事項

セレクターの前提条件

ApplicationContent CategoriesDomainHost セレクターは、エグレスポリシーで動く前に追加のセットアップが必要です。これらのセレクターを使うポリシーを導入する前に、Host セレクター を参照してください。

これらのセレクターは、エグレスポリシーの適用時ではなく、Gateway が DNS クエリを処理するときに宛先 IP アドレスを解決します。解決された宛先 IP とエグレス IP が別のリージョンにあると、地理位置制限や IP 許可リストを適用している宛先への接続が失敗することがあります。詳細は DNS 解決ロケーション を参照してください。

役に立ちましたか?