ガイドと洞察

悪用を認識する AI API ゲートウェイ: エンドユーザーの帰属、安全信号、および即時蓄積を行わないテナントの隔離

マルチテナント AI ゲートウェイの実際的な悪用制御パターン: 偽名エンドユーザー ID の伝播、プロバイダーの安全信号の正規化、繰り返される危険な行動のエスカレーション、デフォルトで生のプロンプトを保存せずにユーザーまたはテナントを隔離します。

顧客向けの AI トラフィックには、「顧客アカウントをブロックする」よりも正確で、「すべてのプロンプトを永久に保存する」よりも安全な不正行為制御が必要です。ゲートウェイは、すべてのリクエストのテナント、API キー、ルート、モデル、プロバイダー、使用状況、応答ステータスをすでに認識しているため、コントロール プレーンを構築するのに適した場所です。

目標は、プロバイダーの安全システムを置き換えることではありません。目標は、次の 4 つの運用上の質問にすぐに答えることができるプロバイダー中立のレイヤーを追加することです。

  • どのエンドユーザー、テナント、キー、ルート、モデルのプロファイルが危険な動作に関連付けられていますか?
  • 問題は、発送前、上流のプロバイダー、応答後、または繰り返されるパターンによって検出されましたか?
  • ゲートウェイが実行したアクションとその理由
  • サポートまたはコンプライアンスは、デフォルトで生のプロンプトを公開せずに決定をレビューできますか?

事実、推奨事項、予測

事実: 大手 AI プロバイダーは、さまざまな悪用と安全メカニズムを公開しています。 OpenAI は、不正行為の監視と検出を支援するために API リクエストで安全性識別子を送信することを推奨しており、その目的のために現在の safety_identifier パラメータが古い user パラメータに取って代わります。 OpenAI のモデレーション API は、有害な可能性のあるテキストに対してカテゴリレベルのフラグを返します。 Gemini の安全設定は、危害カテゴリ全体でリクエストごとに調整でき、応答には安全性の評価と、コンテンツがブロックされた場合の SAFETY 終了理由を含めることができます。 Azure OpenAI および Azure AI Foundry の不正行為の監視では、コンテンツ分類とパターン検出を使用して、繰り返し発生する潜在的な不正行為を特定します。 Anthropic は、チーム、環境、部門、プロジェクトのワークスペースの分離を文書化し、コンテンツ モデレーション ワークフローで Claude を使用するためのガイダンスも提供します。

推奨事項: これらのプロバイダー固有の信号を、独自のゲートウェイ不正行為制御プレーンへの入力として扱います。それらを正規化し、テナントとエンドユーザーの属性に関連付けて、アップストリーム アクセスが危険にさらされる前にゲートウェイで段階的なアクションを強制します。

予測: マルチモデルの展開では、プロバイダー固有の安全性メタデータが追加され続け、すぐには 1 つの汎用スキーマに収束しません。小規模な内部分類を構築したチームは、後から新しいプロバイダー、新しいモデル ファミリー、新しいリセラー コントロールを簡単に追加できるようになります。

1.最初に不正行為イベントのスキーマを定義します

モデレーション モデルの選択から始めないでください。インシデント発生時に運用チームが必要とするイベント記録から始めます。有用なプロバイダー中立の不正行為イベントは、属性、ルーティング コンテキスト、正規化された安全性の意味、および実行されたアクションをキャプチャする必要があります。

{
  "decion_id": "dec_01J...",
  "タイムスタンプ": "2026-08-16T11:08:00Z",
  "テナントID": "tn_123",
  "gateway_key_id": "gk_456",
  "pseudonymous_end_user_id": "u_hmac_abc...",
  "route_id": "public_chat_free_trial",
  "model_id": "一般高速",
  "プロバイダー": "プロバイダー_a",
  "request_type": "チャット完了",
  "安全カテゴリ": "危険なコンテンツ",
  "重大度または確率": "高",
  "provider_finish_reason": "安全性",
  "normalized_signal": "block_output",
  "action_taken": "suspend_end_user_24h",
  "evidence_pointer": "ev_789",
  "raw_prompt_stored": false
}

重要な設計上の選択は、生のプロンプト テキストではなく evidence_pointer です。ポインタは、ポリシーが許可する場合、編集されたスニペット、ソルト付きハッシュ、プロバイダ決定 ID、モデレーション応答、または有効期間の短い暗号化オブジェクトを参照できます。ほとんどのダッシュボードでは、エンド ユーザーが 15 分間に 10 件の重大度の高い危険なコンテンツ イベントをトリガーしたことを示すための完全なプロンプトは必要ありません。

含める必要がある最小限のフィールド

  • テナントの属性: tenant_id、再販業者アカウント、ワークスペース、または顧客アカウント。
  • 認証情報の属性: gateway_key_id、アップストリーム認証情報のエイリアス、およびキー スコープ。
  • エンドユーザー帰属: ダウンストリーム アプリケーション ユーザーの安定した仮名識別子。
  • ルーティング コンテキスト: ルート、モデル プロファイル、プロバイダー、リージョン、リクエスト クラス。
  • 安全性コンテキスト: 正規化されたカテゴリ、重大度、プロバイダーの終了理由、モデレーション結果、パターン スコア。
  • 施行コンテキスト:
  • 許可、警告、レート制限、ブロック、一時停止、隔離、通知、または手動レビュー。

2.安定した仮名エンドユーザー識別子が必要

テナント レベルの不正行為への対応は、顧客向けの製品にとっては露骨すぎます。 1 人の試用ユーザーがチャットボットを悪用した場合、テナント全体を一時停止すると、正規ユーザーが罰せられ、不必要なサポート作業が発生する可能性があります。ゲートウェイは、外部向けのリクエストごとに安定したエンドユーザー ID を必要とします。

アプリケーションは、次のようなゲートウェイ固有の識別子を送信する必要があります。

pseudonymous_end_user_id = HMAC_SHA256(
  ゲートウェイ_シークレット、
  テナント ID + ":" + アプリケーション ユーザー ID
)

この値は、繰り返される動作を識別できるほど安定している必要がありますが、簡単に元に戻すことはできません。プロバイダ向けの識別子として、生の電子メール アドレス、電話番号、名前、アカウント ハンドル、IP アドレス、または CRM ID を使用しないでください。上流のプロバイダーが安全性識別子フィールドをサポートしている場合、ゲートウェイはゲートウェイ境界内でマッピングを維持しながら、この値のプロバイダーセーフ バージョンを渡すことができます。

アイデンティティの伝播を強制する場所

  • パブリック エンドポイント: エンドユーザー ID を含まないリクエストは拒否されます。
  • 匿名トラフィック: セッション ID、デバイス トークン、またはその他のポリシーで承認されたアプリケーション信号から一時的な仮名識別子を生成します。
  • サーバー間の内部ワークフロー: 人間のユーザーが存在するかのように振る舞うのではなく、サービス ID、ジョブ ID、またはワークフロー所有者を使用します。
  • 再販業者のトラフィック: 再販業者テナントは、独自の顧客とエンドユーザーの属性を個別に渡す必要があります。

ゲートウェイは、ユーザーの実際の ID ではなく、存在と形式を検証する必要があります。アプリケーションは、サポート、セキュリティ、または法的レビューが必要な場合に、仮名値をユーザーにマッピングし直す責任を負います。

3.プロバイダーの安全性シグナルを小さな分類法に正規化する

プロバイダーシグナルは便利ですが、互換性はありません。 1 つのプロバイダーがカテゴリ レベルのモデレーション フラグを返す場合があります。別のものは、構成可能な危害しきい値と安全性評価を返す場合があります。別のユーザーは、安全終了の理由でモデル応答をブロックする可能性があります。別のユーザーは、再発する不正行為のパターンについて後で通知する場合があります。

ゲートウェイはプロバイダーの詳細を保持する必要がありますが、操作はより小さな内部分類に基づいて動作する必要があります。

<テーブル> <頭> 正規化された信号 意味 一般的なアクション <本体> 許可 ポリシー関連の信号が検出されませんでした。 応答を送信または返します。 警告 信頼性が低い、または重大度が低い懸念。 イベントを記録し、必要に応じて摩擦を追加します。 block_input ディスパッチ前のモデレーションは、リクエストを送信すべきではないことを示しています。 安全なエラーと決定 ID を返します。 ブロック出力 応答がブロックされたか、保留される必要があります。 安全な代替応答を返します。 provider_refusal モデルが拒否したか、プロバイダーが応答をブロックしました。 プロバイダーの信号を記録し、正規化された理由を明らかにします。 moderation_flag カテゴリにフラグが設定されましたが、必ずしもブロックされているわけではありません。 カウンターに加えて得点のリスクを冒します。 繰り返しパターン 頻度、カテゴリ、または順序は、繰り返し行われる虐待を示唆しています。 制限を強化するか、エンドユーザー ID を一時停止します。 manual_review_required 自動決定では不十分です。 承認されたレビューのキューに入れます。

この分類法により、モデル ファミリとプロバイダーが異なる場合でも適用の一貫性が保たれます。また、製品チームに UI メッセージとサポート ワークフローの安定した理由コードを提供します。

4.ディスパッチ前にいつモデレートするかを決定する

ディスパッチ前のモデレーションにより、遅延とコストが増加します。すべての内部集計ジョブや低リスクのワークフローに必ずしも必要なわけではありません。多くの場合、悪用がユーザーに損害を与えたり、プロバイダーのポリシーに違反したり、アカウント制限をトリガーしたり、公開出力を作成したりする可能性があるエンドポイントでは正当化されます。

普遍的なルールではなく、リスク階層型のモデレーションを使用します。

  • 常に事前スクリーニングを行う: 匿名のパブリック チャット、無料トライアル、認証されていないデモ、再販業者の顧客トラフィック、ユーザー生成コンテンツのモデレーション、ツール対応エージェント、および外部の副作用を引き起こす可能性のあるルート。
  • 条件付きの事前スクリーニング: 新規ユーザー、異常なトラフィックの急増、高リスクのカテゴリ、疑わしいパターン、または最近の安全イベントによる認証済みの顧客ワークフロー
  • 通常は事後検査: 内部バックオフィスの要約、制御されたバッチジョブ、強力なロギングとレート制限のある信頼できるサービス アカウント

対応後の検査は依然として重要です。プロバイダーの終了理由、拒否、安全性評価、およびブロックされた応答は、同じ不正行為イベント ストリームにフィードされる必要があります。プロバイダーの安全ブロックを繰り返し受信するルートは、たとえゲートウェイが入力を事前にブロックしていなかったとしても、運用上危険なものとして扱う必要があります。

5.単一の巨大な禁止スイッチではなく、段階的な強制執行を使用する

適切な虐待対応は卒業です。単一の境界線上のリクエストと、上流モデルを悪用する組織的な試みとを区別する必要があります。実際の施行はしごは次のようになります。

<オル>
  • 記録: 最初の疑わしい信号または重大度の低い信号の正規化されたイベントを保存します。
  • 警告または摩擦の追加: ポリシーの説明を返したり、認証を要求したり、エンド ユーザーに対して危険なルートを無効にしたりします。
  • スロットル: 仮名エンドユーザー ID の RPM、TPM、同時実行数、または 1 日の予算を削減します。
  • エンド ユーザーの一時停止: テナントをアクティブなままにして、エンド ユーザー ID を一時的にブロックします。
  • テナント ルートの隔離: 不正行為が管理されていないと思われる場合、特定のルート、モデル プロファイル、または顧客キーを無効にします。
  • テナントの一時停止: 組織的な不正行為、応答しない顧客、認証情報の漏洩、またはプロバイダ主導のエスカレーションの場合は、テナントの完全な一時停止を予約します。
  • 強制状態は、モデルをディスパッチする前にリクエスト パスによってクエリ可能である必要があります。エンド ユーザーが一時停止されている場合、ゲートウェイは安全で説明可能な応答と decion_id でフェール クローズされる必要があります。リクエストがローカルでブロックされるべきだったということを発見するためだけにアップストリーム トークンを使用しないでください。

    適用ポリシーの例

    if Severe_event_count(end_user, 24h) >= 1:
        サスペンド(エンドユーザー、期間 = "24時間")
    elif media_event_count(end_user, 1h) >= 3:
        Reduce_limits(エンドユーザー、rpm=2、tpm=2000)
    elif media_event_count(テナント、24 時間) >= 50:
        quarantine_route(テナント、ルート="public_chat_free_trial")
    elif Provider_safety_blocks(tenant, 1h) >= 10:
        Notice_ops_and_reseller(テナント)

    しきい値は、製品タイプ、管轄区域、顧客契約、リスク許容度に応じて調整する必要があります。セキュリティ研究、医療、教育、法的分析、フィクション、ニュースのワークフローでは、単純な分類子にとっては危険に見える、無害なエッジ ケースが生成される可能性があります。取り消し不能なアクションを強制する前に、手動レビュー パスを構築します。

    6.不正行為の分析を迅速な観察可能性から分離する

    不正操作とプロンプト デバッグは関連していますが、同じではありません。ゲートウェイは、デフォルトで完全なプロンプトとレスポンスの本文を保存しなくても、繰り返される危険な動作を検出できます。

    保存を優先します:

    • 正規化されたカテゴリと重大度。
    • プロバイダーのシグナルと終了理由
    • テナント、キー、ルート、モデル、仮名エンドユーザー ID。
    • トークン数、コスト、リクエストのタイムスタンプ、レスポンスのステータス
    • 重複排除のためのソルトされたコンテンツ ハッシュ。
    • ポリシーで許可されている場合にのみ、編集された短いスニペットを使用します。

    生のプロンプトは、明示的な保持ポリシー、強力なアクセス制御、監査ログ、およびコンプライアンス レビューの下でのみ保存してください。ゼロ保持または変更された不正行為監視構成の場合は、より多くの責任がゲートウェイ オペレータに移ることを前提とします。プロバイダ側の調査支援が少なくなる可能性があり、独自の監査証跡はポリシーの適用とインシデント対応をサポートするのに十分なものでなければなりません。

    7.アピールとレビューのワークフローを API に組み込む

    ブロックされたリクエストはすべて、安定した決定参照を返す必要があります。 「安全でないコンテンツ」などのあいまいなエラーは避けてください。代わりに、エンド ユーザーにとって安全でサポートに役立つ応答を返してください。

    {
      "エラー": {
        "タイプ": "安全ブロック",
        "message": "安全ポリシーに一致したため、リクエストを完了できませんでした。",
        "decion_id": "dec_01J...",
        "理由": "危険なコンテンツ",
        「再試行可能」: false
      }
    }

    サポート ツールでは、承認されたレビュー担当者が decion_id、テナント、キー、ルート、または仮名エンドユーザー ID で検索できるようにする必要があります。レビュー担当者は最初に正規化されたメタデータを確認する必要があります。未加工のコンテンツが存在する場合、そのコンテンツにアクセスするには昇格された権限が必要であり、ログに記録される必要があります。

    パートナーと再販業者の場合は、Partner API を通じて不正行為の制御を公開します。

    • 顧客キーを一時停止または復元します。
    • 悪用の疑いがある場合は認証情報をローテーションする
    • 顧客、ルート、エンドユーザー ID ごとにセーフティカウンターを検査する
    • しきい値超過に関する Telegram または Webhook アラートを購読する
    • 意思決定 ID と正規化された理由をカスタマー サポートにエクスポートする

    これにより、代理店や SaaS ビルダーは、上流のプロバイダーが広範なアカウントへのアクセスを無効にする前に、下流の不正行為を修正する時間が得られます。

    8.明らかな不正行為だけでなく、無害なエッジケースをテストする

    安全システムは、カテゴリ、言語、重大度、モデル ファミリによって異なります。明らかに許可されていないプロンプトのみを含むテスト スイートでは、正当ではあるが機密性の高い作業に対してゲートウェイがどのように動作するかがわかりません。

    次のテスト ケースを含めます:

    • セキュリティ教育と認証情報の盗難。
    • 医療情報と自傷行為のエスカレーション
    • 架空の暴力と現実世界の脅威
    • 禁止行為と運用上の指示の法的分析
    • 過激派や憎悪に満ちた内容に関するニュース、学術、歴史的な議論
    • 多言語およびコードスイッチのリクエスト

    ケースごとに、プロバイダー信号、正規化されたゲートウェイ信号、実行されたアクション、モデルまたはプロバイダーの更新後に予想される動作が変化したかどうかを記録します。これは、異議申し立てプロセスをテストする必要がある場所でもあります。審査できない誤検知は、単なる分類子の問題ではなく、運用上の問題です。

    実装チェックリスト

    • 追加の安全プロバイダを統合する前に、プロバイダに依存しない不正行為イベント スキーマを定義する
    • 顧客向けのすべてのトラフィックに安定した仮名エンドユーザー ID を要求する
    • プロバイダーのモデレーション カテゴリ、安全性評価、終了理由、拒否を小さな内部分類にマッピングする
    • リスクの高いルートには派遣前の規制を適用し、すべてのルートには対応後の検査を適用します。
    • 記録のみのイベントからエンドユーザーの停止やテナントの隔離まで、段階的に施行する
    • デフォルトでカウンター、ハッシュ、カテゴリー、証拠ポインターを保存します。生のプロンプトを溜め込まないでください。
    • ブロックごとに決定 ID と正規化された理由を返します。
    • 一時停止、キーのローテーション、セーフティ カウンター、アラートなどのコントロールをパートナー側に公開する
    • 機密性の高い良性のユースケースを、許可されていないユースケースと同じくらい慎重にテストする

    結論

    不正行為に対応した AI API ゲートウェイは、単なるモデレーション チェックボックスではなく、帰属と強制のシステムです。中心的なパターンは単純です。テナント、キー、ルート、モデル、プロバイダー、および仮名のエンド ユーザーを識別します。安全信号を安定した内部理由コードに正規化します。繰り返される行動を徐々にエスカレートさせる。デフォルトで機密プロンプトをログに記録せずに、レビューに十分な証拠を保存します。

    この設計により、アップストリーム アクセスが保護され、パートナーに運用制御が提供され、より公平なエンドユーザー レベルの隔離がサポートされ、プロンプト ホーディング アプローチよりもプライバシー リスクが低く抑えられます。イベントスキーマと施行ラダーから始めます。プロバイダー固有のモデレーション アダプターは、チームが実際に操作できるコントロール プレーンに接続できます。

    関連資料

    FAQ

    よくある質問

    すべての AI リクエストは、プロバイダーに到達する前にモデレートされる必要がありますか?
    いつもではありません。ディスパッチ前のモデレーションは、パブリック、匿名、無料トライアル、再販業者、ユーザー生成コンテンツ、ツール対応のルートに最も役立ちます。リスクの低い内部ワークフローでは、応答後の検査、プロバイダーの終了理由、およびパターン検出に依存して、待ち時間とコストを削減できます。
    テナント ID のみではなく、仮名のエンドユーザー ID を使用するのはなぜですか?
    テナント ID は範囲が広すぎるため、公正に施行できません。安定した仮名エンドユーザー ID を使用すると、ゲートウェイは顧客アカウント全体をブロックすることなく、問題の原因となっている攻撃者を抑制または一時停止できます。また、キー、ルート、モデル間で繰り返される危険な動作を相関付けるのにも役立ちます。
    悪用を認識するゲートウェイは生のプロンプトを保存する必要がありますか?
    いいえ。多くの場合、カテゴリ、重大度、カウンター、プロバイダーシグナル、ソルテッドハッシュ、編集されたスニペット、および証拠ポインターを保存できます。 Raw プロンプト ストレージには、明示的な保存ポリシー、アクセス制御、監査ログ、およびコンプライアンス レビューが必要です。
    プロバイダー固有の安全信号はどのように処理されるべきですか?
    監査可能にするために元のプロバイダーのメタデータを保持しますが、それをより小さな内部分類 (allow、warn、block_input、block_output、provider_refusal、moderation_flag、repeat_pattern、manual_review_required など) にマップします。これにより、プロバイダー間で施行の一貫性が保たれます。