このページは Apigee と Apigee ハイブリッドに適用されます。
Apigee Edge のドキュメントを表示します。
セキュリティ レポート ビューを使用すると、API に対するセキュリティ上の脅威を特定するレポートを作成できます。レポートを生成するために、Apigee は、指定された期間の API トラフィック データをスキャンし、悪意のあるエージェントに起因する可能性のある異常なトラフィック パターンを検索します。その後、すべての不審なアクティビティを含むレポートを表示します。この情報により、API に対する攻撃を阻止するための対策を講じることができます。
セキュリティ レポートを作成するには、後述の Apigee UI または Security Reports API を使用します。UI を使用する場合、レポートのデータは選択した環境に限定されます。API を使用する場合は、環境グループのレポートも作成できます。
セキュリティ レポート タスクの実行に必要なロールについては、セキュリティ レポートに必要なロールをご覧ください。
この機能を使用するには、アドオンを有効にする必要があります。サブスクリプションをご利用の場合は、組織のアドオンを有効にできます。詳細については、サブスクリプションを使用する組織の Advanced API Security を管理するをご覧ください。従量課金制をご利用の場合は、対象となる環境でアドオンを有効にできます。詳細については、Advanced API Security アドオンを管理するをご覧ください。
bot 検出
API セキュリティに対する最も深刻な脅威の一つに bot(悪意のあるリクエストを API に送信する自動スクリプト)があります。Advanced API Security は、実際の API データの分析に基づく特定の API トラフィック パターン(検出ルール)を使用して bot を検出します。
セキュリティ レポートのデータの遅延
Apigee Analytics パイプラインへのデータフローには、平均で最大 15~20 分の遅延があります。その結果、終了時刻を直近 20 分以内に設定すると、セキュリティ レポートに誤った結果が表示される場合があります。
セキュリティ レポート ビューを開く
セキュリティ レポート ビューを開くには:
- Cloud コンソールの Apigee UI を使用している場合: [Advanced API Security] > [セキュリティ レポート] を選択します。
- 従来の Apigee UI を使用している場合: [Analyze] > [API Security] > [Security Reports] を選択します。 従来のバージョンの Apigee UI と Cloud コンソールの Apigee UI では、列名と動作が多少異なる場合があります。
メインのセキュリティ レポート ビューが表示されます。
ページの上部で、以下を選択できます。
- レポートを作成する環境。
- レポート タイプ フィルタ。次のオプションがあります。
- All
- Active
- Failed
- Expired
これらのオプションの下に、セキュリティ レポートが表形式で表示されます。各行には、次の情報が表示されます。
- レポートの名前。レポート名をクリックしてレポートを表示します。
- レポートのステータス。次のいずれかになります:
- running: レポートは現在実行中で、まだ表示できません。
- completed: レポートは完成しており、閲覧またはエクスポート可能です。
- expired: レポートの有効期限を過ぎており、UI で表示またはエクスポートできません。期限切れになる前にエクスポートしたレポートは、有効期限を過ぎた後も表示できます。30 日が経過すると、レポートは使用可能なレポートのリストから削除されます。
[Start time] と [End time] には、レポートの開始日時と終了日時が表示されます。
- Submitted date: レポートに対するリクエストが送信された日時。
- Expiration time: レポートの有効期限。この日付を過ぎると Apigee UI で表示できなくなります。有効期限はレポートの作成日から 7 日後です。 30 日が経過すると、レポートは使用可能なレポートのリストから削除されます。有効期限が過ぎると、UI でレポートを表示したり、エクスポートしたりできません。
- File size: レポートのファイルサイズ。ファイルサイズが最大ファイルサイズ未満のレポートを作成するには、レポート条件の変更が必要となる場合があります。最大ファイルサイズとファイルサイズを小さくする方法については、セキュリティ レポートに関する制限事項をご覧ください。
- Export: レポートを ZIP ファイルとしてエクスポート / ダウンロードします。エクスポートは、レポートのステータスが [completed] の場合にのみ使用できます。
新しいセキュリティ レポートを作成する
新しいセキュリティ レポートを作成するには、セキュリティ レポート ビューで [+Create] をクリックします。[Create Security Report Job] ダイアログが開きます。次のセクションで説明するように、このダイアログではレポートのオプションを構成できます。
セキュリティ レポートのオプション
セキュリティ レポートには、次のオプションを指定できます。
- レポート名: レポートの名前。
- レポート期間: レポートの開始時刻と終了時刻。
注: レポートの開始時刻と終了時刻は、過去の時刻にする必要があります。また、レポートの作成から 1 年以内の日時にする必要があります。
- 指標: レポートの指標。次の指標と集計関数から選択できます。集計関数は指標の統計情報を計算します。
指標 説明 集計関数 bot 1 分間隔で検出された bot の個別の IP アドレス数。 count_distinct bot_traffic 1 分間隔で検出された bot の IP アドレスからのメッセージ数。 sum message_count Apigee によって 1 分間隔で処理された API 呼び出しの合計数。
注: message_count は、同じレポート内の他の指標や bot_reason ディメンションと併用できません。
sum response_size 返されるレスポンス ペイロードのサイズ(バイト単位)。 sum、avg、min、max ディメンション: ディメンションによって、関連するデータのサブセットに基づいて、指標値を一緒にグループ化できます。次の表に、Advanced API Security レポートに固有のディメンションを示します。
ディメンション 説明 bot_reason
incident_id
(プレビュー版)security_action
(プレビュー版)セキュリティ アクションのタイプ。指定可能な値は、ALLOW、BLOCK、FLAG です。 security_action_name
セキュリティ アクションの名前。 security_action_headers
ALLOW アクションでリクエストに追加されるヘッダー。 注: Advanced API Security に特有のディメンション bot_reason は、個々の検出ルールの任意の組み合わせにすることができます。bot が検出された場合、bot_reason は、検出時に bot のトラフィックが一致した個々の検出ルールのサブセットで構成されます。
注: bot_reason と incident_id は次の指標でのみ機能します。
- bot
- bot_traffic
- response_size
Advanced API Security レポートでサポートされているその他のディメンションについては、ディメンションをご覧ください。
複数のディメンションを追加するには、追加するディメンションごとに [+ Add a Dimension] をクリックします。ディメンション フィールドの右側にある上矢印または下矢印をクリックして、レポートに表示されるディメンションの順序を変更することもできます。
- フィルタ: フィルタを使用すると、検索結果を絞り込み、特定の値を持つ指標のみを表示できます。フィルタを作成するには、次のフィールドを設定します。
- フィルタの名前を選択します。
- 比較演算子を選択します。
- 値を選択します。
フィルタをご覧ください。
すべてのレポート オプションを選択したら、[Create] をクリックしてレポートジョブを作成します。
完成したレポートを表示する
レポートが完成すると、次のように表示されます。
レポートを表示するには、次のいずれかを行います。
- レポート名をクリックします。
- そのレポートの行にある [エクスポート] をクリックします。
例: bot の IP アドレス レポート
次の例では、検出された bot の IP アドレスを表示するレポートを作成します。レポートを作成するには、次の構成を使用します。
- 指標: bot。bot のソースとして識別された一意の IP アドレスの数。
- 集計関数: count_distinct
- ディメンション: Resolved Client IP
完成したレポートは次のとおりです。
レポートの下部にある表には、Advanced API Security によって bot として識別された IP アドレスの一覧が表示されます。
例: bot の識別理由別の bot トラフィック レポート
次の例では、bot のソースとして識別された IP アドレスからのリクエストの数を bot_reason(bot の検出に至った一連の検出ルール)別に表示する bot トラフィック レポートを作成します。レポートを作成するには、次の構成を使用します。
- 指標: bot_traffic
- 集計関数: sum
- ディメンション: bot_reason
完成したレポートは次のとおりです。
bot_reason は、個々の検出ルールのサブセットで構成されます。グラフからわかるように、次の一連の検出ルールにより、bot トラフィックが最大量になっています。
- Flooder
- Brute Guessor
- Robot Abuser
例: bot トラフィック レポート
次の例では、ディメンションでグループ化されていないレポートを作成します。ディメンションでデータをグループ化しない場合は、ディメンションを environment に設定します。データは常に選択した環境に限定されるため、レポートではデータがグループ化されません。
- 指標: bot traffic
- 集計関数: sum
- ディメンション: environment
レポートには、bot のソースとして識別された IP アドレスからの合計トラフィックがレポート期間中の 1 分間隔で表示されます。グループ化は行われません。
セキュリティ レポートのその他の例
次の表に、さまざまな指標とディメンションを使用して作成できるセキュリティ レポートの例を示します。
レポート | 指標 | ディメンション |
---|---|---|
環境ごとのすべての bot トラフィックと bot カウント レポート | bot、bot_traffic | environment |
さまざまな bot 識別理由の bot トラフィックと bot カウント レポート | bot、bot_traffic | bot_reason |
さまざまな国 / 地域の bot トラフィックと bot カウント レポート | bot、bot_traffic | ax_geo_country |
さまざまな ISP の bot トラフィックと bot カウント レポート | bot、bot_traffic | ax_isp |
bot 検出レポート(詳細リストビュー) | bot_traffic | Resolved Client IP、ax_isp、bot_reason、request_uri、client_id |
アクセス トークン別の bot トラフィック | bot_traffic | access_token |
API プロキシ別の bot トラフィック | bot_traffic | apiproxy |
エージェント ファミリー別の bot トラフィック | bot_traffic | ax_ua_agent_family |
ユーザー エージェント別の bot トラフィック | bot_traffic | useragent |
エージェント タイプ別の bot トラフィック | bot_traffic | ax_ua_agent_type |
デバイス カテゴリ別の bot トラフィック | bot_traffic | ax_ua_device_category |
OS ファミリー別の bot トラフィック | bot_traffic | ax_ua_os_family |
クライアント ID 別の bot トラフィック | bot_traffic | client_id |
プロキシ ベース パス別の bot トラフィック | bot_traffic | proxy_basepath |
プロキシパスの接尾辞別の bot トラフィック | bot_traffic | proxy_pathsuffix |
リクエスト URI 別の bot トラフィック | bot_traffic | request_uri |
リクエスト動詞別の bot トラフィック | bot_traffic | request_verb |
レスポンス ステータス コード別の bot トラフィック | bot_traffic | response_status_code |
セキュリティ レポートに関する制限事項
セキュリティ レポートには次の制限事項があります。
- Apigee Analytics パイプラインへのデータフローには、平均で最大 15~20 分の遅延があります。その結果、終了時刻を直近 20 分以内に設定してレポートを生成すると、不正確な結果が表示される場合があります。
- bot レポートの最大期間は 1 年間です。
- 1 つのレポートで使用できる指標の最大数は 25 で、使用できるディメンションの最大数は 25 です。
- 非同期カスタム レポート API と同様、レポートのデータには 31 MB の上限があります。レポートのサイズ上限に達した場合は、次のいずれかを行うことができます。
- レポートの期間を短くします。
- 一連の値でフィルタしてデータを小さなサブセットに分割し、複数のレポート(サブセットごとに 1 つずつ)を作成します。
- プライバシーに関する懸念により、Resolved Client IP ディメンションを ax_geo_city ディメンションまたは ax_geo_country ディメンションと一緒に同じレポートに含めることはできません。
- bot_first_detected (min) 指標と bot_last_detected (max) 指標は、Security Reports API を介してのみ利用可能であり、UI では利用できません。