Application Granular Controls を使うと、対応する SaaS アプリケーション内の特定のユーザー操作を制御する Gateway HTTP ポリシー を作成できます。アプリケーションへのアクセスは許可しつつ、アプリケーション内で実行できる操作を制限できます。
Application Granular Controls を使うには、次が必要です。
- ユーザーのデバイスに Cloudflare 証明書 または カスタム証明書 をインストールします。
- TLS decryption を有効にします。
- Gateway プロキシ を有効にします。
- (任意)アプリケーションが HTTP/3 を使う場合は、UDP トラフィック向け Gateway プロキシ を有効にします。
- (任意)AI プロンプトのログ を有効にする場合は、DLP ペイロード暗号化の公開鍵 を作成します。
Application Granular Controls を使った Gateway HTTP ポリシーを作成する手順は次のとおりです。
-
Cloudflare dashboard ↗ で Zero Trust > Traffic policies > Firewall policies > HTTP を開きます。
-
Add a policy を選びます。
-
ポリシーに名前を付けます。
-
Traffic で、許可またはブロックするトラフィックを定義する論理式を組み立てます。粒度の細かいコントロールはアプリケーションごとに異なるため、Application セレクターと is 演算子を使う必要があります。
-
Value で、対象のアプリケーションを選びます。
-
Controls で、1 つ以上の Application Controls または個別の Operations を選びます。たとえば、ChatGPT へのファイルアップロードをブロックするポリシーを作成できます。
Selector Operator Value Controls Action Application is ChatGPT Upload Block -
Create policy を選びます。
Create a Zero Trust Gateway rule エンドポイントを使ってポリシーを作成します。たとえば、ChatGPT へのファイルアップロードをブロックするポリシーを作成できます。
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Block ChatGPT uploads",
"description": "Block file uploads to ChatGPT while allowing other usage",
"enabled": true,
"action": "block",
"filters": [
"http"
],
"traffic": "any(app.ids[*] == 1199) and any(app_control.controls[*] in {1653})",
"identity": "",
"device_posture": ""
}'詳細は HTTP ポリシー を参照してください。
Gateway は、Application Controls と Operations など、粒度の異なるレベルで Application Granular Controls を定義します。
Application Controls は、アップロードやダウンロードなど、ユーザーの意図を表す事前定義のコントロールです。Cloudflare は、対応アプリケーションごとに関連する操作を Application Controls にまとめます。事前定義のグループが意図に合う場合は Application Controls を使います。
Operations は、アプリケーションが使う個々の API レベルの操作です。Application Controls より細かく制御したい場合に使います。たとえば、特定の種類のダウンロードだけをブロックする、または Application Control が存在しないコメント操作をブロックする場合です。SaaS アプリケーションはそれぞれ独自の操作セットとスコープ、挙動を持つため、Operation レベルのコントロールはユースケースごとに分析が必要になることがあります。
Cloudflare は、アプリケーションで利用できる API に基づいて Operations を提供します。Operations が Application Controls にどう対応するかは、対応アプリケーション を参照してください。
Operation Groups は、アプリケーションベンダーが定義する操作のグループです。通常は、署名リクエストなどアプリケーションの機能領域や、ファイルやフォルダーなどアプリケーションが定義するエンティティに基づきます。定義はアプリケーションごとに異なります。Gateway は、対応するベンダー API ドキュメントと操作を対応づけるために、これらの Operation Groups に操作をまとめます。
スキャン可能なコンテンツを含む操作では、Application Granular Controls を Data Loss Prevention (DLP) と組み合わせて使えます。アップロードまたはダウンロードしたファイルの内容や、AI プロンプトを含む操作が対象です。たとえば、ユーザーがファイルをアップロードすると、ファイルメタデータの設定、ファイル内容のアップロード、アップロードの完了など、一連の API 操作が発生することがあります。Zero Trust トラフィックに DLP を適用するときは、ファイル内容を含む操作を明示的に対象にすると便利です。
SaaS アプリケーションは、通常、複数の API を提供します。Application Granular Controls は、アプリケーションごとに次の API 種類をサポートすることがあります。
- Web Application API: ユーザーがブラウザーで操作する Web アプリケーションが使う API です。
- Platform API: SaaS アプリケーションとプログラムからやり取りするための API です。自動化、スクリプト、ほかのアプリケーションが使うことが一般的です。
Application Controls には、両方の API 種類の Operations が含まれます。Operations を使って HTTP ポリシーを作成するときに両方の API 種類がある場合は、利用中の API に合う Operations を選ぶか、カバレッジを広げるために両方を含めます。
Application Granular Controls は、次のアプリケーションに対応しています。
Artificial Intelligence
- ChatGPT
- Google Gemini
- Perplexity
- Claude
File Sharing
- Box
- Dropbox
- Google Drive
- WeTransfer
- Hightail
- ShareFile
- Smash