概要

Model Armor は、 Google Cloud サービスと統合して、AI と大規模言語モデル(LLM)のインタラクションを保護します。Model Armor は、ポリシー違反の可能性を特定して報告し、セキュリティ評価に基づいてアクションを積極的にブロックできます。

サポートされているモダリティ

Model Armor がスキャンしてサニタイズできるモダリティは、サービスへのアクセス方法によって異なります。

サポートされているドキュメント タイプとサイズの上限の詳細については、ドキュメントのスクリーニングをご覧ください。

サポート対象のサービス

このセクションでは、Model Armor と統合できる Google Cloud サービスについて説明します。

Agent Gateway

Model Armor を Agent Gateway と統合して、ゲートウェイで管理されるすべてのエージェントとの間で送受信されるトラフィックにセキュリティ ポリシーを適用します。この統合により、悪意のあるコンテンツやコンプライアンスに準拠していないコンテンツのインライン検査とブロックが可能になります。この統合は、アプリケーション コードを変更することなく、ワークフローのセキュリティと組織の安全ガイドラインの遵守を改善することを目的としています。この保護は、上り(エージェントへの)パスと下り(エージェントからの)パスの両方でサポートされているプロトコルに適用されます。詳細については、Agent Gateway と統合するをご覧ください。

Apigee

Model Armor と Apigee の統合により、Apigee API ゲートウェイ レイヤ内で Model Armor の AI 保護機能を直接使用できます。Apigee API プロキシ内で特定の Model Armor ポリシーを構成します。これらのポリシーが設定された Apigee プロキシを API 呼び出しが通過すると、Apigee はプロンプトとレスポンスを Model Armor サービスに送信して検査します。詳細については、Apigee との統合をご覧ください。

Gemini Enterprise

Model Armor は、テンプレートを使用して Gemini Enterprise と直接統合できます。Gemini Enterprise は、ユーザーとエージェント間のやり取りと基盤となる LLM を Model Armor を介してルーティングします。つまり、ユーザーやエージェントからのプロンプトと、LLM によって生成されたレスポンスは、ユーザーに提示される前に Model Armor によって検査されます。詳細については、Gemini Enterprise と統合するをご覧ください。

サポートされているモダリティに記載されているモダリティに加えて、Gemini Enterprise との Model Armor の統合ではドキュメントもサポートされています。ただし、ドキュメントに埋め込まれた画像は審査されません。

Google と Google Cloud MCP サーバー

Model Armor を構成すると、Model Context Protocol(MCP)ツールとサーバーを公開する Google Cloud サービスにリクエストを送信する際に、データと安全なコンテンツを保護できます。Model Armor は、フロア設定を使用して MCP ツール呼び出しとレスポンスをサニタイズすることで、エージェント型 AI アプリケーションのセキュリティを強化します。このプロセスにより、プロンプト インジェクションやセンシティブ データ開示などのリスクを軽減できます。詳細については、Google と Google Cloud MCP サーバーとの統合をご覧ください。

Service Extensions

Model Armor は、Service Extensions を介して Google Cloud ネットワーキング サービスと統合できます。Service Extensions を使用すると、 Google Cloud サービスまたはユーザー管理のサービスを統合してトラフィックを処理できます。アプリケーション ロードバランサでサービス拡張機能を構成して、エージェントや MCP サーバーなど、さまざまな AI インタラクションのネットワーク トラフィックをスクリーニングできます。GKE 推論ゲートウェイでサービス拡張機能を使用して、GKE クラスタとの間のトラフィックをスクリーニングすることもできます。これにより、ロードバランサを通過するすべての AI インタラクションが Model Armor で保護されます。詳細については、 Google Cloud ネットワーキング サービスとの統合をご覧ください。

Gemini Enterprise Agent Platform

Model Armor は、フロア設定またはテンプレートを使用して、Gemini Enterprise Agent Platform に直接統合できます。このインテグレーションにより、Gemini モデルのリクエストとレスポンスがスクリーニングされ、フロア設定に違反するリクエストとレスポンスがブロックされます。このインテグレーションにより、Vertex AI の Gemini API 内で generateContent メソッドのプロンプトとレスポンスが保護されます。この統合では、ドキュメントや画像を含むプロンプトとレスポンスのサニタイズはサポートされていません。プロンプトとレスポンスのサニタイズ結果を可視化するには、Cloud Logging を有効にする必要があります。詳細については、Gemini Enterprise Agent Platform と統合するをご覧ください。

始める前に

API を有効にする

Model Armor を使用するには、Model Armor API を有効にする必要があります。

コンソール

  1. Model Armor API が有効になっていない場合は、有効にします。

    API を有効にするために必要なロール

    API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を通じてこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を通じてこの権限を取得できます。ロールを付与する方法を確認する。

    API の有効化

  2. Model Armor を有効にするプロジェクトを選択します。

gcloud

始める前に、Google Cloud CLI で Model Armor API を使用して、次の処理を行います。

  1. Google Cloud コンソールで Cloud Shell をアクティブにします。

    Cloud Shell をアクティブにする

    Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。

  2. gcloud CLI を使用して API エンドポイントのオーバーライドを設定する。

gcloud CLI を使用して API エンドポイントのオーバーライドを設定する

この手順は、Model Armor で gcloud CLI を使用し、デフォルトの us マルチリージョン以外のリージョンまたはマルチリージョンを使用する場合にのみ必要です。gcloud CLI がリクエストを Model Armor サービスに正しく転送するように、API エンドポイントのオーバーライドを手動で設定する必要があります。

次のコマンドを実行して、Model Armor サービスの API エンドポイントを設定します。

gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"

LOCATION は、Model Armor を使用するリージョンまたはマルチリージョンに置き換えます。

割り当てを管理

Model Armor は、公平な使用を確保し、システムの安定性を保護するために、割り当てシステムを使用します。Model Armor API のデフォルトの割り当ては、プロジェクトあたり 1,200 QPM です。プロジェクトごとに 0 ~ 1,200 QPM の値を適用できます。調整をリクエストするには、割り当ての調整をリクエストするをご覧ください。デフォルトの割り当てを超える割り当てが必要な場合は、Cloud カスタマーケアにお問い合わせください。

Model Armor の割り当ては、他のサービスと統合する際に重要な考慮事項となります。主に操作する割り当ては、プロジェクトあたりの 1 分あたりの API リクエスト数です。

Model Armor を他のサービスと統合する場合は、次の割り当てタイプを考慮してください。

  • Model Armor のデフォルトの割り当て: サービスが分析のために Model Armor API を呼び出すと(プロンプトやレスポンスのチェックなど)、プロジェクトの Model Armor API 割り当てが消費されます。
  • 統合サービス割り当て: Model Armor の割り当ては、統合サービスに関連付けられている割り当てとは異なります。リクエスト パス内のすべてのサービスに十分な割り当てがあることを確認する必要があります。アプリケーションのコンテンツをサニタイズするために Model Armor API に対して行われた呼び出しは、Model Armor API の割り当て上限にカウントされます。

割り当て超過の状況を検出する

アプリケーション ログに Model Armor からのエラー(通常は HTTP 429 RESOURCE_EXHAUSTED エラー)が表示され、リクエストが多すぎることを示している場合は、Model Armor の割り当て上限に達しています。

割り当てのニーズを見積もる

リクエストする Model Armor の割り当て量を決定するには:

  • サービスが Model Armor に送信する 1 分あたりの最大リクエスト数を見積もります。
  • サービスに対するユーザー操作ごとに Model Armor が呼び出される回数(プロンプトで 1 回、レスポンスで 1 回など)を考慮します。
  • 同時実行ユーザーまたはセッションの最大数を考慮します。
  • 予期しない急増に対応するために、妥当なバッファ(予想されるピークの 20 ~ 30% など)を含む割り当てをリクエストします。
  • 最良の見積もりから始め、リリース後に使用状況を注意深くモニタリングし、必要に応じて追加の調整をリクエストします。

たとえば、1 分あたり 500 人のユーザーがアクセスし、各ユーザー インタラクションで Model Armor が 2 回(プロンプトとレスポンス)呼び出されると想定される場合は、少なくとも 1,000 QPM が必要になります。バッファを考慮すると、1,200 ~ 1,300 QPM をリクエストするのが良い出発点となります。

考慮事項

他のサービスと統合する場合は、次の点を考慮してください。

  • 他のサービスの割り当てをモニタリングして管理してください。他のサービスの割り当てが不足すると、Model Armor の割り当てが十分であっても、アプリケーションに影響します。
  • アプリケーションのセットアップで、指数バックオフを使用してクライアントサイドの再試行を実装し、一時的な割り当ての問題やその他の再試行可能なエラーに対処します。詳細については、再試行戦略をご覧ください。

適用のタイプ

Model Armor を他のサービスと統合する場合は、適用タイプを構成することが重要です。この設定は、Model Armor が LLM プロンプトやレスポンスなどの検査対象データでポリシー違反の可能性を検出したときの動作を決定します。適用タイプは、Model Armor が違反を報告するだけか、積極的に介入するかを決定します。詳細については、適用タイプを定義するをご覧ください。

REST API を使用して統合する

REST API を統合に使用する場合、Model Armor はテンプレートを使用する検出機能としてのみ機能します。つまり、ポリシー違反の可能性を積極的に防止するのではなく、事前定義されたテンプレートに基づいて特定して報告します。Model Armor API と統合すると、アプリケーションは Model Armor からの出力を使用して、提供されたセキュリティ評価の結果に基づいてアクションをブロックまたは許可できます。Model Armor API は、API トラフィックに関連する潜在的な脅威やポリシー違反に関する情報を返します。特に AI インタラクションの場合に役立ちます。アプリケーションは Model Armor API を呼び出し、レスポンスで受信した情報を使用して、事前定義されたカスタム ロジックに基づいて意思決定を行い、アクションを実行できます。

Model Armor を統合する際のオプション

Model Armor には、次のインテグレーション オプションがあります。各オプションには、異なる機能が用意されています。

インテグレーション オプション 検出を構成する サポートされているモダリティ 検査のみ 検査してブロック 対象範囲
Agent Gateway テンプレートのみを使用する テキスト ○ はい すべてのモデルとすべてのクラウド
Apigee テンプレートのみを使用する テキスト ○ ○ すべてのモデルとすべてのクラウド2
Gemini Enterprise テンプレートのみを使用する テキスト、ドキュメント ○ ○ すべてのモデルとすべてのクラウド2
Google と Google Cloud MCP サーバー フロア設定のみを使用する テキスト ○ ○ Google と Google Cloud MCP サーバー
Service Extensions テンプレートのみを使用する テキスト ○ ○ すべてのクラウドの OpenAI 形式のモデル1、エージェント、MCP サーバー2
Gemini Enterprise Agent Platform フロア設定とテンプレートの両方を使用する テキスト ○ ○ Gemini モデル(ストリーミングなし)

1Anthropic Claude、Mistral AI、Grok など、いくつかの人気モデルは OpenAI 仕様をサポートしています。これらのモデルは通常、必要な OpenAI 互換 API レイヤを提供する vLLM などの推論エンジンを使用してデプロイされます。vLLM は、Meta Llama シリーズ、DeepSeek、Mistral、Mixtral ファミリー、Gemma など、幅広いモデルをサポートしています。

2AWS や Azure などの他のパブリック クラウドも含まれます。

Gemini Enterprise Agent Platform との統合により、Model Armor はフロア設定またはテンプレートを使用してインライン適用を行います。インライン ポリシーの適用により、Model Armor は、アプリケーション コードを変更することなく、プロセスに直接介入してポリシーを積極的に適用できます。

Service Extensions と Gemini Enterprise の統合では、インライン ポリシーの適用にのみテンプレートが使用されます。インライン ポリシーの適用により、Model Armor は、Service Extensions 内と Gemini Enterprise インスタンス内のユーザーまたはエージェントのインタラクションの両方で、アプリケーション コードを変更することなくポリシーを直接適用できます。

Model Armor と Gemini Enterprise、Agent Runtime、Apigee のインテグレーションでは、最初のユーザー プロンプト、最終的なエージェントまたはモデルのレスポンス、グラウンディング データやウェブ検索ツールから返されるレスポンスなどの中間ステップがサニタイズされます。取得したグラウンディング データまたは中間ペイロードが、構成済みの Model Armor テンプレートまたは Sensitive Data Protection ポリシーに違反している場合、リクエストはブロックされ、SANITIZE_USER_PROMPT オペレーション タイプでロギングされます。

Security Command Center の Model Armor

Model Armor は、プロンプト インジェクション、ジェイルブレイクの試み、悪意のある URL、有害なコンテンツなど、さまざまな脅威について LLM のプロンプトとレスポンスを検査します。Model Armor が構成されたフロア設定の違反を検出すると、プロンプトまたはレスポンスをブロックし、検出結果を Security Command Center に送信します。詳細については、Model Armor の検出結果をご覧ください。