各オペレーションは、次のいずれかの状態になります。
| 状態 | 意味 |
|---|---|
full |
選択した、手動で追加した、またはスキーマから作成したオペレーションです。full オペレーションは、照合、ログ、検出、ルールに使われます。 |
candidate |
Cloudflare がトラフィックから検出したオペレーションです。candidate オペレーションは、手動レビュー前でも照合、ログ、検出、ルールに使われます。 |
shadow |
Web Assets に存在するが、照合、ログ、検出、ルールには使われないオペレーションです。 |
検出されたすべてのオペレーションを full 状態に移す必要はありません。candidate オペレーションは、オペレーションのコンテキストを自動で提供します。プロファイル学習は Learn profile を選んだときだけ開始します。
オペレーションが Web Assets に表示されない場合、Cloudflare が連続した期間に十分な有効リクエストを観測していない可能性があります。検出は、次の要件をすべて満たすリクエストだけを処理します。
- リクエストは、Cloudflare エッジから
2xxの応答コードを返す必要があります。 - リクエストは、Cloudflare Workers から直接来たものであってはなりません。
- オペレーションは、10 日間に少なくとも 500 リクエストを受け取る必要があります。
検出は、プロキシされた HTTP トラフィックからオペレーションを継続的に識別します。検出は、パス正規化を使って類似のリクエストパスをまとめます。
たとえば、検出は次のリクエストをまとめられます。
GET https://api.example.com/profile/238
GET https://api.example.com/profile/392検出は、これらを 1 つのオペレーションにまとめられます。
GET api.example.com/profile/{var1}検出されたオペレーションは、手動で調整する前から照合に使われます。これにより、先に状態を変えなくてもオペレーションのコンテキストを得られます。
検出に基づく照合は、プランの提供状況とシステムの上限に依存します。Cloudflare は現在、照合のためゾーンあたり最大 3,000 オペレーションをエッジへ送ります。full 状態のオペレーションが優先され、そのあと candidate 状態のオペレーションが続きます。
意図的なプロファイル学習を開始するには、Learn profile を選びます。検出、手動作成、編集ではプロファイリングは始まりません。
API Security をご利用のお客様は、Schema Learning と Schema Validation を通じて Schema Profiles にすでにアクセスできます。Cloudflare は、API Security を持たない招待制の Enterprise のお客様向けにクローズドベータを開始しています。関心のあるお客様は、アカウントチームに連絡してください。クローズドベータへのアクセスは、将来のプラン提供や料金を約束するものではありません。
candidate または shadow オペレーションでは、この操作によりオペレーションが full 状態にも移ります。すでに full 状態のオペレーションはそのままです。その後、Cloudflare は対象トラフィックから想定されるリクエスト構造を学習します。
API エンドポイントについては、API Shield がほかのコンテキスト用のデータも収集します。
- スキーマ学習 によるリクエスト構造
- レート制限の推奨 による通常のリクエスト量
- Authentication Posture による認証の利用状況
- API エンドポイントのリスクラベル による永続化されたセキュリティ検出結果
各機能には、それぞれ別のデータ要件とタイミング要件があります。Schema Profiles については、スキーマ学習 を参照してください。
full オペレーションは、既知の API エンドポイントを必要とする保護も使えます。Schema Validation、フォールスルールール、シーケンス緩和 が含まれます。
-
Cloudflare ダッシュボードで、Operations タブが強調表示された Web Assets ページを開きます。
Web assets を開く ↗ -
オペレーションの行アクションを開きます。
-
Learn profile を選びます。
プロファイルが利用可能になったら、View details を選びます。Security overview で学習済みスキーマを確認します。
Cloudflare は、エッジで各リクエストを 1 つのオペレーションに照合します。同じリクエストに複数のオペレーションパターンが一致しうる場合、より具体的なオペレーションが優先されます。
たとえば、次のオペレーションはどちらも GET https://example.com/checkout/pay に一致しえます。
GET example.com/checkout/pay
GET example.com/checkout/{var1}Cloudflare は、より具体的なため GET example.com/checkout/pay を使います。
同じメソッド、ホスト名パターン、パスパターンでは、Cloudflare は同じオペレーション UUID を生成します。これにより、同じオペレーションが再検出されても、オペレーションの識別子は安定します。
保護したいトラフィックが検出されていない場合や、オペレーション構造を自分で定義したい場合は、オペレーションを手動で追加します。
-
Cloudflare ダッシュボードで、Operations タブが強調表示された Web Assets ページを開きます。
Web assets を開く ↗ -
Add operation を選びます。
-
Manually add を選びます。
-
HTTP メソッドを選び、ホスト名パターンとパスパターンを入力します。
-
Add operation で確定します。
手動作成は、オペレーションをインベントリに追加するだけです。プロファイリングを開始するには、別に Learn profile を選びます。
オペレーションを手動で追加するときは、変数を使って類似トラフィックを 1 つのオペレーションで照合します。
パス変数では、変数を波括弧で囲みます。
/api/users/{var1}/detailsホスト名変数は、ホスト名ラベル全体を占める必要があります。Cloudflare は次のようなパターンをサポートします。
{hostVar1}.example.com
foo.{hostVar1}.example.com
{hostVar2}.{hostVar1}.example.comホスト名変数を、同じラベル内のほかの文字と組み合わせないでください。次のパターンはサポートされていません。
foo-{hostVar1}.example.comすでに OpenAPI スキーマを管理している場合は、引き続きアップロードしてオペレーションを作成できます。
スキーマのアップロードは、API Shield のスキーマ検証でも使われます。詳細は Schema Validation と スキーマ学習 を参照してください。
現在のグループ化が、トラフィックのグループ化や保護の仕方と合わない場合は、オペレーションを調整します。
たとえば、ログインとパスワードリセットのトラフィックは、パス構造の一部が共通していても、別のオペレーションにしたい場合があります。同じアプリケーション動作を表す複数の狭いオペレーションを、1 つの広いオペレーションに置き換えたい場合もあります。
変更前に、重複するオペレーションを確認してください。Cloudflare はリクエストを 1 つのオペレーションに照合します。広いオペレーションは類似リクエストのグループ化を変え、狭いオペレーションは 1 つのフローを関連トラフィックから切り離せます。
-
Cloudflare ダッシュボードで、Operations タブが強調表示された Web Assets ページを開きます。
Web assets を開く ↗ -
オペレーションの行アクションを開きます。
-
Edit operation を選びます。
-
HTTP メソッド、ホスト名パターン、またはパスパターンを更新します。
-
Save を選びます。
編集はオペレーションのインベントリエントリを更新します。プロファイル学習は開始しません。
オペレーションは、1 件ずつ、または一括で削除できます。
-
Cloudflare ダッシュボードで、Operations タブが強調表示された Web Assets ページを開きます。
Web assets を開く ↗ -
削除するオペレーションを選びます。
-
Delete operations で確定します。
Cloudflare API でオペレーションを操作できます。詳細は オペレーション API ドキュメント を参照してください。