Browser Isolation では、ID、セキュリティ脅威、またはコンテンツに基づいて、Web サイトを動的に隔離するポリシーを定義できます。
HTTP ポリシーが Isolate アクションを適用すると、ユーザーの Web ブラウザーには、HTML 互換のリモートブラウザークライアントが透過的に配信されます。隔離ポリシーは、Accept: text/html* を含むリクエスト(Web ページのリクエスト)に適用できます。これにより、Browser Isolation ポリシーを API トラフィックと共存させられます。
次の例は、すべての Web トラフィックで隔離を有効にします。
| セレクター | 演算子 | 値 | アクション |
|---|---|---|---|
| Host | matches regex | .* |
Isolate |
特定のページだけを隔離する場合は、トラフィックを隔離したいドメインを列挙できます。
| セレクター | 演算子 | 値 | アクション |
|---|---|---|---|
| Domain | In | example.com, example.net |
Isolate |
特定の宛先またはカテゴリで隔離を無効にできます。次の構成は、example.com 宛てトラフィックの隔離を無効にします。
| セレクター | 演算子 | 値 | アクション |
|---|---|---|---|
| Host | In | example.com |
Do Not Isolate |
Web サイトを隔離するとき、そのサイト上でユーザーができる操作も制限できます。Isolate アクションを選択すると、Gateway HTTP ポリシービルダーに次の任意設定が表示されます。リモートブラウザーで信頼できない Web サイトを操作するときの データ損失を防ぐ ↗ ために使います。たとえば、隔離された内部アプリケーションから機密データをコピーできないようにします。
flowchart LR
subgraph remotebrowser[リモートブラウザー]
siteA["隔離された
Web サイト"]--データ-->remoteclip["リモート
クリップボード"]
end
subgraph client[クライアント]
localclip["ローカル
クリップボード"]
end
remoteclip-->localclip
- Allow: (デフォルト)ユーザーは、隔離された Web サイトからローカルクリップボードへコンテンツをコピーできます。
- Allow only within isolated browser: ユーザーは、隔離された Web サイトからリモートクリップボードへだけコンテンツをコピーできます。リモートブラウザーからローカルクリップボードへはコピーできません。貼り付け(クライアントからリモートへ): Allow only within isolated browser と組み合わせると、隔離された Web サイト間だけのコピー&ペーストに制限できます。
- Do not allow: 隔離された Web サイトからのコンテンツのコピーを禁止します。
flowchart LR
subgraph client[クライアント]
localclip["ローカル
クリップボード"]
end
subgraph remotebrowser[リモートブラウザー]
remoteclip["リモート
クリップボード"]-->siteA["隔離された
Web サイト"]
end
localclip--データ-->remoteclip
- Allow: (デフォルト)ユーザーは、ローカルクリップボードから隔離された Web サイトへコンテンツを貼り付けられます。
- Allow only within isolated browser: ユーザーは、リモートクリップボードから隔離された Web サイトへだけコンテンツを貼り付けられます。ローカルクリップボードからリモートブラウザーへは貼り付けられません。コピー(リモートからクライアントへ): Allow only within isolated browser と組み合わせると、隔離された Web サイト間だけのコピー&ペーストに制限できます。
- Do not allow: 隔離された Web サイトへのコンテンツの貼り付けを禁止します。
- Allow: (デフォルト)ユーザーは、隔離された Web サイトからローカルマシンへファイルをダウンロードできます。
- Do not allow: 隔離された Web サイトからローカルマシンへのファイルダウンロードを禁止します。
- View in remote browser: ユーザーは、隔離された環境でファイルを開いて表示できます。
- Allow: (デフォルト)ユーザーは、ローカルマシンから隔離された Web サイトへファイルをアップロードできます。
- Do not allow: ローカルマシンから隔離された Web サイトへのファイルアップロードを禁止します。
- Allow: (デフォルト)ユーザーは、隔離された Web サイトへキーボード入力できます。
- Do not allow: 隔離された Web サイトへのキーボード入力を禁止します。
- Allow: (デフォルト)ユーザーは、隔離された Web ページをローカルマシンへ印刷できます。
- Do not allow: 隔離された Web ページのローカルマシンへの印刷を禁止します。
カスタムブロックダイアログを使うと、隔離されたブラウザーセッション内で コピー、貼り付け、ダウンロード、アップロード、キーボード入力、印刷 などの特定操作がブロックされたときに、カスタムのブロックページを表示できます。
管理者はカスタムブロックダイアログを設定し、ブロックの理由を説明したり、次のクエリパラメーターを使って解決方法を案内したりできます。
action: コピー、貼り付け、ダウンロード、アップロード、キーボード入力、印刷cf_colo: 例:sea01client_url: 例:https://example.compolicy_id: 32 文字の IDrbi_debug_id: 32 文字の IDuser_id: 32 文字の ID
カスタムブロックダイアログはベータ版です。利用を開始するには、アカウントチームに問い合わせてください。
マルウェアやフィッシングなどのセキュリティ脅威を隔離します。
| セレクター | 演算子 | 値 | アクション |
|---|---|---|---|
| Security Categories | in | All security risks | Isolate |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Isolate all security threats",
"description": "Isolate security threats such as malware and phishing",
"enabled": true,
"action": "isolate",
"filters": [
"http"
],
"traffic": "any(http.request.uri.security_category[*] in {68 178 80 83 176 175 117 131 134 151 153})",
"identity": "",
"device_posture": ""
}'新規登録ドメインなどの高リスクコンテンツカテゴリを隔離します。
| セレクター | 演算子 | 値 | アクション |
|---|---|---|---|
| Content Categories | in | Security Risks | Isolate |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Isolate high risk content",
"description": "Isolate high risk content categories such as newly registered domains",
"enabled": true,
"action": "isolate",
"filters": [
"http"
],
"traffic": "any(http.request.uri.content_category[*] in {32 169 177 128})",
"identity": "",
"device_posture": ""
}'マルバタイジング攻撃の標的になるニュースおよびメディアサイトを隔離します。
| セレクター | 演算子 | 値 | アクション |
|---|---|---|---|
| Content Categories | in | News and Media | Isolate |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Isolate news and media",
"description": "Isolate news and media sites, which are targets for malvertising attacks",
"enabled": true,
"action": "isolate",
"filters": [
"http"
],
"traffic": "any(http.request.uri.content_category[*] in {122})",
"identity": "",
"device_posture": ""
}'Cloudflare Radar で分類されていないコンテンツを隔離します。
| セレクター | 演算子 | 値 | アクション |
|---|---|---|---|
| Content Categories | not in | All content categories | Isolate |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Isolate uncategorized content",
"description": "Isolate content not categorized by Cloudflare Radar",
"enabled": true,
"action": "isolate",
"filters": [
"http"
],
"traffic": "not(any(http.request.uri.content_category[*] in {2 67 125 133 3 75 183 89 182 6 90 91 144 150 7 70 74 76 79 92 96 100 106 107 116 120 121 122 127 139 156 164 99 9 101 137 10 103 146 11 12 77 98 108 110 111 118 126 129 172 168 113 33 179 166 15 115 119 124 141 161 17 85 87 102 157 135 138 180 162 140 142 32 169 177 128 22 73 82 88 148 23 24 181 71 72 173 78 84 86 94 97 104 105 114 174 93 130 132 136 147 149 154 158 152 26 69 184 81 95 109 123 145 155 159 160 163 165 167}))",
"identity": "",
"device_posture": ""
}'ChatGPT の利用を隔離します。
| セレクター | 演算子 | 値 | アクション |
|---|---|---|---|
| Application | in | ChatGPT | Isolate |
Configure policy settings で、ChatGPT 向けの制限をカスタマイズできます。たとえば、ユーザーが機密情報を入力できないようにするには、Disable copy / paste と Disable file uploads を選択します。
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Isolate ChatGPT",
"description": "Isolate the use of ChatGPT",
"enabled": true,
"action": "isolate",
"filters": [
"http"
],
"traffic": "any(app.ids[*] in {1199})",
"identity": "",
"device_posture": ""
}'