Skip to content

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

Sequence Analytics

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

Sequence Analytics は、API エンドポイントへのリクエスト順を時系列で追跡し、ユーザーが API をどう使うかを把握できます。重要なユーザージャーニー(シーケンス)をグループ化し、強調表示します。推奨するシーケンスは Sequence mitigation で強制できます。

処理の流れ

シーケンスの構築

シーケンスとは、特定の訪問者が Web サイトの閲覧、モバイルアプリの利用、または API 経由の B2B 連携で行った HTTP API リクエストを、時間順に並べた一覧です。

たとえば、銀行の資金移動中に作られるシーケンスの一部は、次のようになります。

順序 メソッド パス 説明
1 GET /api/v1/users/{user_id}/accounts user_id は現在のユーザーです。
2 GET /api/v1/accounts/{account_id}/balance account_id は、そのユーザーの口座の 1 つです。
3 GET /api/v1/accounts/{account_id}/balance account_id は、同じユーザーの別の口座です。
4 POST /api/v1/transferFunds 振替元口座、振替先口座、振替金額を含むリクエスト本文です。

API Shield は、設定した セッション識別子 と、full または candidate 状態のオペレーションを使い、セッションごとに要求された API オペレーション(HTTP ホスト、メソッド、パス)の順序付き集合を構築します。スコアに応じて、さまざまな長さのシーケンスが表示される場合があります。

シーケンスのスコアリング

API Shield は、シーケンスを precedence score(優先度スコア)という指標で採点します。Sequence Analytics は、precedence score が高い順にシーケンスを表示します。高スコアのシーケンスは、その順で一緒に発生しやすい API リクエストを含みます。

上の例では、高スコアはシーケンス末尾のオペレーション POST /api/v1/transferFunds の前に、GET /api/v1/users/{user_id}/accounts と、そのあとの GET /api/v1/accounts/{account_id}/balance が続く可能性が高いことを意味します。スコアは確率で、API Shield が直近 24 時間のデータから推定します。

API を保護する

API を先回りして保護するには、スコアが最も高いシーケンスを確認します。高スコアのシーケンスごとに、末尾のオペレーションが、その前のオペレーションのあとに必ず来るべきかを開発チームに確認してください。

上の例で、POST /api/v1/transferFunds の前に必ず GET /api/v1/users/{user_id}/accountsGET /api/v1/accounts/{account_id}/balance が来るべきなら、シーケンス末尾のオペレーションに対して Sequence mitigation の Allow ルールを作成します。

これらのエンドポイントには、ほかの API Shield 保護(レート制限の提案スキーマ検証JWT 検証mTLS)の適用も検討してください。

詳細は ブログ記事 を参照してください。

繰り返されるシーケンス

実際の API 利用では、同じオペレーションが連続して繰り返されることがよくあります。確認しやすくするため、Sequence Analytics は連続して繰り返されたオペレーションを 1 つにまとめます。

提供状況

Sequence Analytics は、すべての API Shield のお客様が利用できます。API Shield を購入していない Pro、Business、Enterprise のお客様は、Cloudflare ダッシュボードで API Shield トライアルを有効にする か、アカウントマネージャーに問い合わせて開始できます。

制限事項

Sequence Analytics には現在、セッション識別子と、エッジで一致させられるオペレーションが必要です。セッション識別子を設定 し、Web Assetsfull および candidate 状態のオペレーションを確認してください。

シーケンスの長さは、現在 9 オペレーションまでに制限されています。

役に立ちましたか?