HTTP ポリシーでは、URL、ホスト名、HTTP メソッド、ファイル種別、その他のリクエスト属性に基づいて、すべての HTTP および HTTPS リクエストをフィルタリングできます。ネットワークポリシー はレイヤー 4(TCP/UDP)で動作しますが、HTTP ポリシーはレイヤー 7 で動作し、Web トラフィックの内容全体を検査できます。
デフォルトでは、Gateway はポート 80 の HTTP トラフィックを検査します。TLS 復号 をオンにすると、ポート 443 の HTTPS トラフィックも検査します。Gateway を すべてのポートで HTTP/HTTPS トラフィックを検査 するよう設定することもできます。Gateway は UDP プロキシ をオンにすると HTTP/3 検査に対応します。
HTTP ポリシーは Action と、ポリシーの適用範囲を決める論理式で構成されます。式を組み立てるには Selector と Operator を選び、Value フィールドに値または値の範囲を入力します。And と Or の論理演算子で、複数の条件を評価できます。
式の条件が query 属性(Source IP など)と応答属性(Resolved IP など)を組み合わせている場合、その条件は応答を受信したときに評価されます。
HTTP ポリシーのアクションでは、指定した要素(ドメイン、IP アドレス、ファイル種別など)に対して行う処理を選びます。ポリシーごとに割り当てられるアクションは 1 つです。
API 値: allow
利用できるセレクター
トラフィック
- Access Infrastructure Target
- Access Private App
- Application
- Browser Isolation
- Content Categories
- Destination Continent IP Geolocation
- Destination Country IP Geolocation
- Destination IP
- DLP Profile
- Domain
- Download File Types
- Download Mime Type
- Is MCP
- Host
- HTTP Method
- HTTP Response
- Package Ecosystem
- Package Name
- Package Namespace
- Package URL (PURL)
- Package Version
- Proxy Endpoint
- Security Categories
- Source Continent IP Geolocation
- Source Country IP Geolocation
- Source Internal IP
- Source IP
- Traffic Source
- Upload File Types
- Upload Mime Type
- URL
- URL Path
- URL Path & Query
- URL Query
- Virtual Network
ID
デバイスポスチャ
Allow アクションは、セレクター と 値 で指定した宛先へ、アウトバウンドトラフィックが到達することを許可します。たとえば、次の構成は Education コンテンツカテゴリに属するすべての Web サイトへの到達を許可します。
| セレクター | 演算子 | 値 | アクション |
|---|---|---|---|
| Content Categories | in | Education | Allow |
Untrusted certificate action は、安全でないリクエストの扱いを決めます。
| オプション | 動作 |
|---|---|
| Error | Gateway のエラーページを表示します。アクション未設定時のデフォルト動作と同じです。 |
| Block | Cloudflare ダッシュボードで設定した ブロックページ を表示します。 |
| Pass through | 安全でない接続の警告をバイパスし、上流へそのまま接続します。バイパスされるステータスの詳細は、Gateway のトラブルシューティング を参照してください。 |
Allow ポリシーは、宛先へトラフィックを転送する前に HTTP リクエストヘッダーを変更できます。ヘッダーの追加、上書き、削除ができ、動的変数で ID、デバイス、ネットワークの文脈をヘッダー値へ注入できます。
詳細は カスタムヘッダー を参照してください。
API 値: block
利用できるセレクター
トラフィック
- Access Infrastructure Target
- Access Private App
- Application
- Browser Isolation
- Content Categories
- Destination Continent IP Geolocation
- Destination Country IP Geolocation
- Destination IP
- DLP Profile
- Domain
- Download File Types
- Download Mime Type
- Is MCP
- Host
- HTTP Method
- HTTP Response
- Package Ecosystem
- Package Name
- Package Namespace
- Package URL (PURL)
- Package Version
- Proxy Endpoint
- Security Categories
- Source Continent IP Geolocation
- Source Country IP Geolocation
- Source Internal IP
- Source IP
- Traffic Source
- Upload File Types
- Upload Mime Type
- URL
- URL Path
- URL Path & Query
- URL Query
- Virtual Network
ID
デバイスポスチャ
Block アクションは、セレクター と 値 で指定した宛先へ、アウトバウンドトラフィックが到達することをブロックします。たとえば、次の構成は Google Drive への任意のファイル種別のアップロードをブロックします。
| セレクター | 演算子 | 値 | 論理 | アクション |
|---|---|---|---|---|
| Application | in | Google Drive |
And | Block |
| Upload Mime Type | matches regex | .* |
機能の可用性
| クライアントモード | Zero Trust プラン ↗ |
|---|---|
|
Enterprise |
| システム | 可用性 | 最小クライアントバージョン |
|---|---|---|
| Windows | ✅ | 2024.1.159.0 |
| macOS | ✅ | 2024.1.160.0 |
| Linux | ❌ | |
| iOS | ✅ | 1.7 |
| Android | ✅ | 1.4 |
| ChromeOS | ✅ | 1.4 |
Display block notification for Cloudflare One Client をオンにすると、Gateway のブロックイベントの通知を表示できます。ブロックされたユーザーには、Cloudflare One Client から OS の通知が届き、設定したカスタムメッセージが表示されます。カスタムメッセージを設定しない場合、Cloudflare One Client はデフォルトのメッセージを表示します。カスタムメッセージは 100 文字以内にしてください。Cloudflare One Client は 1 分あたり 1 件の通知だけを表示します。
通知を選ぶと、Cloudflare One Client は設定した Gateway ブロックページ へユーザーを案内します。任意で、社内サポートフォームなどのカスタム URL へ案内することもできます。
Send policy context をオンにすると、Gateway は一致したリクエストの詳細を、リダイレクト URL にクエリ文字列として付加します。すべてのコンテキストフィールドが含まれるわけではありません。ポリシーコンテキストのフィールドには、次のようなものがあります。
ポリシーコンテキストのフィールド
| フィールド | 定義 | 例 |
|---|---|---|
| User email | クエリを行ったユーザーのメールアドレスです。 | &cf_user_email=user@example.com |
| Site URL | 元の HTTP リクエストの完全な URL、または DNS クエリのドメイン名です。 | &cf_site_uri=https%3A%2F%2Fmalware.testcategory.com%2F |
| URL category | リダイレクト対象 URL の ドメインカテゴリ です。 | &cf_request_categories=New%20Domains,Newly%20Seen%20Domains |
| Original HTTP referer | HTTP トラフィックの場合、HTTP リクエストの元の HTTP referer ヘッダーです。 | &cf_referer=https%3A%2F%2Fexample.com%2F |
| Rule ID | リクエストに一致した Gateway ポリシーの ID です。 | &cf_rule_id=6d48997c-a1ec-4b16-b42e-d43ab4d071d1 |
| Source IP | ポリシーに一致したデバイスの送信元 IP アドレスです。 | &cf_source_ip=203.0.113.5 |
| Device ID | ポリシーに一致したデバイスの UUID です。 | &cf_device_id=6d48997c-a1ec-4b16-b42e-d43ab4d071d1 |
| Application names | リダイレクト先ドメインに対応するアプリケーション名です(ある場合)。 | &cf_application_name=Salesforce |
| Filter | ブロックを引き起こしたトラフィックタイプのフィルターです。 | &cf_filter=http, &cf_filter=dns, &cf_filter=av, or &cf_filter=l4 |
| Account ID | 関連する Zero Trust アカウントの Cloudflare アカウント ID です。 | &cf_account_id=d57c3de47a013c03ca7e237dd3e61d7d |
| Query ID | リダイレクトが適用された DNS クエリの ID です。 | &cf_query_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3 |
| Connection ID | リダイレクトが適用されたプロキシ接続の ID です。 | &cf_connection_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3 |
| Request ID | リダイレクトが適用された HTTP リクエストの ID です。 | &cf_request_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3 |
オペレーティングシステムが Cloudflare One Client の通知を許可していることを確認してください。集中モード、おやすみモード、画面共有の設定がオンだと、デバイスに通知が表示されないことがあります。DisplayLink ソフトウェアを実行している macOS デバイスでクライアント通知をオンにするには、ディスプレイのミラーリング中にシステム通知を許可する必要がある場合があります。詳細は macOS のドキュメント ↗ を参照してください。
API 値: redirect
利用できるセレクター
トラフィック
- Access Infrastructure Target
- Application
- Content Categories
- Destination Continent IP Geolocation
- Destination Country IP Geolocation
- Destination IP
- Domain
- Host
- HTTP Method
- Proxy Endpoint
- Security Risks
- Source Continent IP Geolocation
- Source Country IP Geolocation
- Source Internal IP
- Source IP
- URL
- URL Path
- URL Path & Query
- URL Query
- Virtual Network
ID
デバイスポスチャ
Redirect アクションは、一致した HTTP リクエストを指定した別の URL へリダイレクトします。たとえば、ユーザーが SaaS アプリの公開 Web ページを開いたときに、自前のセルフホストインスタンス、シングルサインオンページ、または社内ポリシーページへリダイレクトできます。
Block アクションとブロックページで URL をリダイレクトする場合は、ブロックページへリダイレクトする を参照してください。
Policy URL redirect で、一致したリクエストのリダイレクト先 URL を定義できます。リダイレクト URL にはパスとクエリを含められます。たとえば、example.com を cloudflare.com/path/to/page?querystring=x へリダイレクトできます。
Send policy context をオンにすると、Gateway は一致したリクエストの詳細を、リダイレクト URL にクエリ文字列として付加します。すべてのコンテキストフィールドが含まれるわけではありません。ポリシーコンテキストのフィールドには、次のようなものがあります。
ポリシーコンテキストのフィールド
| フィールド | 定義 | 例 |
|---|---|---|
| User email | クエリを行ったユーザーのメールアドレスです。 | &cf_user_email=user@example.com |
| Site URL | 元の HTTP リクエストの完全な URL、または DNS クエリのドメイン名です。 | &cf_site_uri=https%3A%2F%2Fmalware.testcategory.com%2F |
| URL category | リダイレクト対象 URL の ドメインカテゴリ です。 | &cf_request_categories=New%20Domains,Newly%20Seen%20Domains |
| Original HTTP referer | HTTP トラフィックの場合、HTTP リクエストの元の HTTP referer ヘッダーです。 | &cf_referer=https%3A%2F%2Fexample.com%2F |
| Rule ID | リクエストに一致した Gateway ポリシーの ID です。 | &cf_rule_id=6d48997c-a1ec-4b16-b42e-d43ab4d071d1 |
| Source IP | ポリシーに一致したデバイスの送信元 IP アドレスです。 | &cf_source_ip=203.0.113.5 |
| Device ID | ポリシーに一致したデバイスの UUID です。 | &cf_device_id=6d48997c-a1ec-4b16-b42e-d43ab4d071d1 |
| Application names | リダイレクト先ドメインに対応するアプリケーション名です(ある場合)。 | &cf_application_name=Salesforce |
| Filter | ブロックを引き起こしたトラフィックタイプのフィルターです。 | &cf_filter=http, &cf_filter=dns, &cf_filter=av, or &cf_filter=l4 |
| Account ID | 関連する Zero Trust アカウントの Cloudflare アカウント ID です。 | &cf_account_id=d57c3de47a013c03ca7e237dd3e61d7d |
| Query ID | リダイレクトが適用された DNS クエリの ID です。 | &cf_query_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3 |
| Connection ID | リダイレクトが適用されたプロキシ接続の ID です。 | &cf_connection_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3 |
| Request ID | リダイレクトが適用された HTTP リクエストの ID です。 | &cf_request_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3 |
Preserve original path and query string をオンにすると、Gateway は元のパスとクエリ文字列をリダイレクト URL に付加します。リダイレクト URL 内のパスとクエリは、元の URL より優先されます。たとえば、元の URL が example.com/path/to/page?querystring=X で、リダイレクト URL が cloudflare.com/redirect-path?querystring=Y の場合、Gateway は次へリダイレクトします。
cloudflare.com/redirect-path/path/to/page?querystring=Y両方のオプションをオンにすると、Gateway は元のパスとクエリ文字列を保持し、ポリシーコンテキストをリダイレクト URL の末尾に付加します。たとえば、元の URL が example.com/path/to/page?querystring=X&k=1 で、リダイレクト URL が cloudflare.com/redirect-path?querystring=Y の場合、Gateway は次へリダイレクトします。
cloudflare.com/redirect-path/path/to/page?querystring=Y&k=1&cf_user_email=user@example.comAPI 値: isolate
利用できるセレクター
トラフィック
- Application
- Content Categories
- Domain
- Host
- HTTP Method
- Security Risks
- Source Continent IP Geolocation
- Source Country IP Geolocation
- URL
- URL Path
- URL Path & Query
- URL Query
ID
デバイスポスチャ
Isolate アクションは、一致したトラフィックを Cloudflare Browser Isolation 経由でユーザーに配信します。このアクションの詳細は 隔離ポリシー を参照してください。
API 値: off
利用できるセレクター
トラフィック
- Application
- Content Categories
- Destination Continent IP Geolocation
- Destination Country IP Geolocation
- Destination IP
- Domain
- Host
- Proxy Endpoint
- Security Risks
- Source Continent IP Geolocation
- Source Country IP Geolocation
- Source Internal IP
- Source IP
- Virtual Network
ID
デバイスポスチャ
Do Not Inspect では、特定の要素を検査から除外できます。Gateway が HTTPS トラフィックを復号して検査しないようにするには、ポリシーが TLS ヘッダーの Server Name Indication(SNI)に一致する必要があります。ブラウザーで Do Not Inspect のサイトを開くと、Your connection is not private という警告が表示されることがあり、続行して接続できます。Do Not Inspect ポリシーが必要になることがあるアプリケーションについては、TLS 復号の制限 を参照してください。
API 値: noisolate
利用できるセレクター
トラフィック
- Application
- Content Categories
- Domain
- Host
- HTTP Method
- Security Risks
- Source Continent IP Geolocation
- Source Country IP Geolocation
- URL
- URL Path
- URL Path & Query
- URL Query
ID
デバイスポスチャ
Do Not Isolate アクションは、一致したトラフィックのブラウザー隔離をオフにします。このアクションの詳細は 隔離ポリシー を参照してください。
API 値: noscan
利用できるセレクター
トラフィック
- Application
- Content Categories
- Destination Continent IP Geolocation
- Destination Country IP Geolocation
- Destination IP
- Domain
- Host
- HTTP Method
- Proxy Endpoint
- Security Risks
- Source Continent IP Geolocation
- Source Country IP Geolocation
- Source Internal IP
- Source IP
- URL
- URL Path
- URL Path & Query
- URL Query
- Virtual Network
ID
デバイスポスチャ
管理者がアップロードまたはダウンロードの AV スキャンを有効にすると、Gateway は対応するすべてのファイルをスキャンします。管理者は HTTP ルールを使い、スキャンを選択的に無効にできます。たとえば、example.com へのアップロードまたはダウンロードの AV スキャンを防ぐには、次のルールを設定します。
| セレクター | 演算子 | 値 | アクション |
|---|---|---|---|
| Hostname | matches regex | .*example.com |
Do Not Scan |
Do Not Scan ルールが一致すると、ファイルサイズや対応ファイル種別かどうかに関係なく、何もスキャンされません。
API 値: quarantine
利用できるセレクター
トラフィック
- Application
- Content Categories
- Destination Continent IP Geolocation
- Destination Country IP Geolocation
- Destination IP
- Domain
- Host
- HTTP Method
- Proxy Endpoint
- Security Risks
- Source Continent IP Geolocation
- Source Country IP Geolocation
- Source Internal IP
- Source IP
- URL
- URL Path
- URL Path & Query
- URL Query
- Virtual Network
ID
デバイスポスチャ
Quarantine アクションは、一致したリクエスト内のファイルをファイルサンドボックスへ送り、マルウェアをスキャンします。Gateway が隔離するのは、ファイルサンドボックスで未検出のファイルだけです。このアクションの詳細は ファイルサンドボックス を参照してください。
Sandbox file types で、ポリシーで隔離するファイル種別を選べます。少なくとも 1 つのファイル種別を選ぶ必要があります。
ファイルサンドボックスは、次のファイル形式のスキャンに対応しています。
対応するサンドボックスのファイル形式
.exe.pdf.doc.docm.docx.rtf.ppt.pptx.xls.xlsm.xlsx.zip.rar
Gateway は、HTTP トラフィックを次のセレクター(条件)と照合します。
Access インフラストラクチャアプリケーション で保護されているすべての ターゲット です。
| UI 名 | API の例 |
|---|---|
| Access Infrastructure Target | access.target |
Access セルフホストのプライベートアプリケーション で保護されている、すべての宛先 IP とホスト名です。
| UI 名 | API の例 |
|---|---|
| Self-hosted Access App with Private Address | access.private_app |
Shadow IT Discovery または Application Library における、アプリケーションのレビュー承認状態です。詳細は アプリケーションをレビューする を参照してください。
| UI 名 | API の例 |
|---|---|
| Application Status | any(app.statuses[*] == "approved") |
人気の Web アプリケーションのリスト(随時追加されます)に対して、HTTP ポリシーを適用できます。詳細は アプリケーションとアプリタイプ を参照してください。
| UI 名 | API の例 |
|---|---|
| Application | any(app.ids[*] in {505}) |
Application セレクターで is 演算子を使うと、Application Granular Controls で、アプリケーション トラフィックに一致させる具体的なアクションと操作を選べます。たとえば、ChatGPT へのファイルアップロードだけをブロックし、ChatGPT トラフィック全体はブロックしないようにできます。
| セレクター | 演算子 | 値 | 制御 | アクション |
|---|---|---|---|---|
| Application | is | ChatGPT | Upload | Block |
複数のユーザー操作をまとめた Application Controls で一致させることも、アプリケーションが対応する API レベルの操作を細かく制御する Operations で一致させることもできます。
詳細は Application Granular Controls を参照してください。
HTTP リクエストのフェーズです。このセレクターで、ユーザーのデバイスへ送られる HTTP リクエストのデータと、ユーザーのデバイスから宛先へ送られるデータのどちらをスキャンするかを指定できます。このセレクターがないポリシーは、HTTP リクエスト本文と応答本文の両方をスキャンします。
| UI 名 | API の例 |
|---|---|
| Body Phase | http.body_phase == \"download\" |
現在のセッションが Remote Browser Isolation 内で動作しているかどうかです。隔離トラフィックと非隔離トラフィックで、ポリシーの動作を変えるときに使います。
| UI 名 | API の例 |
|---|---|
| Browser Isolation | net.is_isolated == true |
Cloudflare Radar が分類する、特定の セキュリティカテゴリ に属するアプリケーションです。
| UI 名 | API の例 |
|---|---|
| Content Categories | any(http.request.uri.content_category[*] in {1}) |
リクエストの宛先の大陸です。位置情報は、対象の IP アドレスから判定します。大陸を指定するには、Value フィールドに 2 文字のコードを入力します。
| 大陸 | コード |
|---|---|
| アフリカ | AF |
| 南極 | AN |
| アジア | AS |
| ヨーロッパ | EU |
| 北アメリカ | NA |
| オセアニア | OC |
| 南アメリカ | SA |
| UI 名 | API の例 |
|---|---|
| Destination Continent IP Geolocation | http.dst_ip.geo.continent == "EU" |
リクエストの宛先国です。地理位置情報は、対象の IP アドレスから判定します。国を指定するには、Value 欄に ISO 3166-1 Alpha 2 コード ↗ を入力します。
| UI 名 | API の例 |
|---|---|
| Destination Country IP Geolocation | http.dst_ip.geo.country == "RU" |
リクエストの宛先の IP アドレスです。
| UI 名 | API の例 |
|---|---|
| Destination IP | any(http.conn.dst_ip[*] in {10.0.0.0/8}) |
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"})" |
このセレクターは、ドメインとそのすべてのサブドメインに一致します。たとえば、example.com と www.example.com などのサブドメインに一致できます。
| UI 名 | API の例 |
|---|---|
| Domain | any(http.request.domains[*] == "example.com") |
Gateway ポリシーは、非ラテン文字を含む domain を直接はサポートしません。非ラテン文字を含む domain を使うには、リスト に追加します。
これらのセレクターで、アップロードまたはダウンロードのファイルサイズを制限できます。ファイルサイズはメビバイト(MiB)で測ります。
| UI 名 | API の例 |
|---|---|
| Download File Size (MiB) | http.download.file.size >= 10 |
| UI 名 | API の例 |
|---|---|
| Upload File Size (MiB) | http.upload.file.size < 10 |
これらのセレクターは、HTTP 本文内のファイルシグネチャをスキャンします。ファイルカテゴリ、または実行ファイル、アーカイブおよび圧縮ファイル、スキャンできないファイル、Microsoft 365/Office ドキュメント、Adobe ファイルなどの 特定のファイル種別 から選べます。
| UI 名 | API の例 |
|---|---|
| Download File Types | any(http.download.file.types[*] in {"docx" "7z"}) |
| UI 名 | API の例 |
|---|---|
| Upload File Types | any(http.upload.file.types[*] in {"compressed"}) |
Gateway は、Download File Types と Upload File Types セレクターで次のファイル種別に対応しています。
圧縮
- 7-Zip アーカイブ(
.7z) bzip2アーカイブ(.bz2)- GNU Gzip アーカイブ(
.gz) - Microsoft Cabinet ファイル(
.cab) - Microsoft Compiled HTML Help ファイル(
.chm) - RAR アーカイブ(
.rar) xzアーカイブ(.xz)- ZIP アーカイブ(
.zip)
ドキュメント
- Microsoft Office/365 ファイル
- Word ドキュメント(
.doc、.docx、.docm) - Excel スプレッドシート(
.xls、.xlsx、.xlsm) - PowerPoint プレゼンテーション(
.ppt、.pptx、.pptm)
- Word ドキュメント(
- PDF ドキュメント(
.pdf)
実行ファイル
- Apple Software Package(
.pkg) - Dynamic-link library(DLL)ファイル(
.dll) - Executable and Linkable Format(ELF)ファイル(
.elf) - Java archive(JAR)パッケージ(
.jar) - Java class ファイル(
.class) - Mach object(Mach-O)ファイル(
.macho) - Microsoft Windows インストーラー(
.msi) - Microsoft Software Installer(
.msix、.appx) - Microsoft Windows 実行ファイル(
.exe)
画像
- Adobe Photoshop ドキュメント(
.psd) - ビットマップ画像(
.bmp) - GIF 画像(
.gif) - アイコンファイル(
.ico) - JPEG 画像(
.jpg、.jpeg) - PNG 画像(
.png) - WebP 画像(
.webp)
その他
- BitTorrent ファイル(
.torrent)
システム
- Apple Disk Image(
.dmg)
スキャン不可
- パスワード保護された Microsoft Office ドキュメント
- パスワード保護された PDF
- パスワード保護された ZIP アーカイブ
- スキャンできない ZIP アーカイブ
これらのセレクターは、リクエスト(アップロード)または応答(ダウンロード)に Content-Type ヘッダーがあることに依存します。MIME タイプの値は、Content-Type ヘッダーで使う形式(例: image/png、application/pdf)と一致する必要があります。
| UI 名 | API の例 |
|---|---|
| Download Mime Type | http.download.mime == "image/png" |
| UI 名 | API の例 |
|---|---|
| Upload Mime Type | http.upload.mime == "image/png" |
Cloudflare Data Loss Prevention(DLP) を使い、個人を特定できる情報(PII)やソースコードなどの機密データが HTTP トラフィックに含まれていないかをスキャンします。ポリシーでこのセレクターを使う前に、DLP プロファイル を設定する必要があります。
| UI 名 | API の例 |
|---|---|
| DLP Profile | any(dlp.profiles[*] in {\"a0cabf16-7491-4c9a-ac02-f64cabc66394\"}) |
HTTP リクエストが Model Context Protocol(MCP) ↗ トラフィックとして識別されたかどうかです。Gateway は、プロトコル固有のヘッダーとペイロードの特徴を検査して MCP トラフィックを検出します。ネットワーク全体で MCP トラフィックを許可、ブロック、または隔離するポリシーを組み立てるときに使います。
| UI 名 | API の例 |
|---|---|
| Is MCP | experimental.is_mcp == true |
たとえば、次のポリシーは MCP portal 経由でない MCP トラフィックをブロックします。
| セレクター | 演算子 | 値 | 論理 | アクション |
|---|---|---|---|---|
| Is MCP | is | True | And | Block |
| Traffic Source | is not | MCP portal |
このセレクターは、指定したホスト名だけと照合します。たとえば、test.example.com には一致しますが、example.com や www.test.example.com には一致しません。
| UI 名 | API の例 |
|---|---|
| Host | http.request.host == "example.com" |
Gateway ポリシーは、非ラテン文字を含む hostname を直接はサポートしません。非ラテン文字を含む hostname を使うには、リスト に追加します。
トラフィックで使われた HTTP リクエストメソッドです。
| UI 名 | API の例 |
|---|---|
| HTTP Method | http.request.method == "GET" |
トラフィックが受け取った HTTP 応答ステータスコードです。
| UI 名 | API の例 |
|---|---|
| URL | http.response.status_code == "200" |
HTTP リクエスト URL から検出されたパッケージレジストリのエコシステムです。詳細は パッケージレジストリのセキュリティ を参照してください。
| UI 名 | API の例 |
|---|---|
| Package Ecosystem | pkg.ecosystem == "npm" |
HTTP リクエスト URL から検出されたパッケージ名です。
| UI 名 | API の例 |
|---|---|
| Package Name | pkg.name == "lodash" |
エコシステムが名前空間を持つ場合の、パッケージの名前空間です。npm ではスコープ、Maven ではグループ ID、Go ではモジュールパスです。
| UI 名 | API の例 |
|---|---|
| Package Namespace | pkg.namespace == "@babel" |
検出されたパッケージ座標から導出した Package URL ↗ です。
| UI 名 | API の例 |
|---|---|
| Package URL | pkg.purl == "pkg:npm/lodash@4.17.21" |
HTTP リクエスト URL から検出されたパッケージのバージョンです。完全一致と、エコシステムを考慮したバージョン比較演算子に対応しています。バージョン比較の意味については、パッケージレジストリのセキュリティ を参照してください。
| UI 名 | API の例 |
|---|---|
| Package Version | pkg.version == "4.17.21" |
ブラウザーが HTTP トラフィックを転送する プロキシサーバー です。
| UI 名 | API の例 |
|---|---|
| Proxy Endpoint | proxy.endpoint == "3ele0ss56t.proxy.cloudflare-gateway.com" |
Cloudflare Radar が分類する、特定の セキュリティカテゴリ に属するアプリケーションです。
| UI 名 | API の例 |
|---|---|
| Security Categories | any(http.request.uri.security_category[*] in {1}) |
リクエストを行ったユーザーの大陸です。
位置情報は、デバイスのパブリック IP アドレス(通常はユーザーの ISP が割り当てます)から判定します。大陸を指定するには、Value フィールドに 2 文字のコードを入力します。
| 大陸 | コード |
|---|---|
| アフリカ | AF |
| 南極 | AN |
| アジア | AS |
| ヨーロッパ | EU |
| 北アメリカ | NA |
| オセアニア | OC |
| 南アメリカ | SA |
| UI 名 | API の例 |
|---|---|
| Source Continent IP Geolocation | http.src_ip.geo.continent == "North America" |
リクエストを行ったユーザーの国です。
地理位置情報は、デバイスの公開 IP アドレス(通常はユーザーの ISP が割り当てます)から判定します。国を指定するには、Value に ISO 3166-1 Alpha-2 コード ↗ を入力します。
| UI 名 | API の例 |
|---|---|
| Source Country IP Geolocation | http.src_ip.geo.country == "RU" |
このセレクターは、ユーザーのローカルネットワークが割り当てたプライベート IP アドレスから Gateway に届くリクエストに対して、HTTP ポリシーを適用します。
| UI 名 | API の例 |
|---|---|
| Source Internal IP | http.conn.internal_src_ip == "192.168.86.0/27" |
Gateway がプロキシするデバイスの送信元 IP アドレスです。
| UI 名 | API の例 |
|---|---|
| Source IP | http.conn.src_ip[*] in {10.0.0.0/8} |
トラフィックを Cloudflare へオンランプする方法です。トラフィックが Gateway に到達する経路に応じてポリシーを適用するときに使います。
| UI 名 | API の例 |
|---|---|
| Traffic Source | net.onramp.type == "device_client" |
利用できる値: device_client(Device client)、mesh(Mesh)、cloudflare_wan(Cloudflare WAN)、clientless_rdp(Clientless RDP)、proxy_endpoint(Proxy endpoint)、agentless_biso(Clientless Browser Isolation)、mcp_portal(MCP portal)。
Gateway は URL の末尾のスラッシュ(/)を無視します。たとえば、https://example.com と https://example.com/ は同じ URL として扱われ、重複エラーになることがあります。
| UI 名 | API の例 |
|---|---|
| URL | http.request.uri matches "/r/gaming" |
Web ページ URL のパス名です。
| UI 名 | API の例 |
|---|---|
| URL Path | http.request.uri.path == \"/foo/bar\" |
Web ページ URL のパス名とクエリです。
| UI 名 | API の例 |
|---|---|
| URL Path and Query | http.request.uri.path_and_query == \"/foo/bar?ab%242=%2A342\" |
Web ページ URL のクエリです。
| UI 名 | API の例 |
|---|---|
| URL Query | http.request.uri.query == "ab%242=%2A342" |
これらのセレクターは、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"}) |
このセレクターは、Cloudflare One Client 経由で特定の 仮想ネットワーク を通るすべてのトラフィックに一致します。
| UI 名 | API の例 |
|---|---|
| Virtual Network | http.conn.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 | 定義した数値以下 |
Value には、等価比較演算子(is など)を使う場合は単一の値を、包含比較演算子(in など)を使う場合は複数の値を入力できます。対応するセレクターでは、正規表現(regex)で値の範囲を指定することもできます。
正規表現は Rust で評価されます。Rust の実装は、ほかで使われる正規表現ライブラリと少し異なります。詳細は ワイルドカード のガイドを参照してください。正規表現が一致するか確認するには、Rustexp ↗ を使えます。
複数の値に一致させたい場合は、パイプ記号(|)を OR 演算子として使えます。パイプ記号の前にエスケープ文字(\)は不要です。たとえば、次の式は hostname が .*whispersystems.org または .*signal.org のいずれかに一致すると true になります。
| セレクター | 演算子 | 値 |
|---|---|---|
| Host | matches regex | .*whispersystems.org|.*signal.org |
正規表現に加えて、論理演算子 で複数の値に一致させることもできます。
式内の複数の条件を評価するには、And 論理演算子を選びます。これらの式は、Or 論理演算子でさらに比較できます。
| 演算子 | 意味 |
|---|---|
| And | 式内のすべての条件に一致する |
| Or | 式内のいずれかの条件に一致する |
Or 演算子は、同じ式グループ内の条件に対してのみ使えます。たとえば、Traffic の条件と Identity or Device Posture の条件は比較できません。
式の条件が request 属性(Source IP など)と応答属性(a DLP Profile など)を組み合わせている場合、その条件は応答を受信したときに評価されます。