Model Armor は、さまざまな Google Cloud サービスと統合されています。
- Google Kubernetes Engine(GKE)と Service Extensions
- Vertex AI
- Gemini Enterprise
- Google Cloud MCP サーバー(プレビュー)
GKE と Service Extensions
Model Armor は、Service Extensions を介して GKE と統合できます。Service Extensions を使用すると、内部(Google Cloud サービス)または外部(ユーザー管理)サービスを統合してトラフィックを処理できます。GKE 推論ゲートウェイなどのアプリケーション ロードバランサでサービス拡張機能を構成して、GKE クラスタとの間のトラフィックをスクリーニングできます。これにより、AI モデルとのすべてのやり取りが Model Armor で保護されます。詳細については、GKE とのインテグレーションをご覧ください。
Vertex AI
Model Armor は、フロア設定またはテンプレートを使用して、Vertex AI に直接統合できます。このインテグレーションにより、Gemini モデルのリクエストとレスポンスがスクリーニングされ、フロア設定に違反するリクエストとレスポンスがブロックされます。このインテグレーションにより、Vertex AI の Gemini API 内で generateContent メソッドのプロンプトとレスポンスが保護されます。プロンプトとレスポンスのサニタイズ結果を可視化するには、Cloud Logging を有効にする必要があります。詳細については、Vertex AI とのインテグレーションをご覧ください。
Gemini Enterprise
Model Armor は、テンプレートを使用して Gemini Enterprise と直接統合できます。Gemini Enterprise は、ユーザーとエージェント間のやり取りと基盤となる LLM を Model Armor を介してルーティングします。つまり、ユーザーやエージェントからのプロンプトと、LLM によって生成されたレスポンスは、ユーザーに提示される前に Model Armor によって検査されます。詳細については、Gemini Enterprise とのインテグレーションをご覧ください。
Google Cloud MCP サーバー
Model Armor は、Model Context Protocol(MCP)ツールとサーバーを公開する Google Cloud サービスにリクエストを送信する際に、データと安全なコンテンツを保護するように構成できます。Model Armor は、フロア設定を使用して MCP ツール呼び出しとレスポンスをサニタイズすることで、エージェント AI アプリケーションのセキュリティを強化します。このプロセスにより、プロンプト インジェクションや機密データの漏洩などのリスクを軽減できます。詳細については、Google Cloud MCP サーバーとの統合をご覧ください。
始める前に
API を有効にする
Model Armor を使用するには、Model Armor API を有効にする必要があります。
コンソール
Model Armor API を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。ロールを付与する方法を確認する。Model Armor を有効にするプロジェクトを選択します。
gcloud
始める前に、Google Cloud CLI で Model Armor API を使用して、次の処理を行います。
Google Cloud コンソールで Cloud Shell をアクティブにします。
Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。
<0-
次のコマンドを実行して、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 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 には、次のインテグレーション オプションがあります。各オプションには、異なる機能が用意されています。
| インテグレーション オプション | ポリシーの適用者/検出機能 | 検出を構成する | 検査のみ | 検査してブロック | モデルとクラウドの対象範囲 |
|---|---|---|---|---|---|
| REST API | 検出項目 | テンプレートのみを使用する | はい | はい | すべてのモデルとすべてのクラウド |
| Vertex AI | インライン適用 | フロア設定またはテンプレートを使用する | はい | はい | Google Cloudの Gemini(ストリーミングなし) |
| Google Kubernetes Engine | インライン適用 | テンプレートのみを使用する | はい | ○ | Google Cloud1 の OpenAI 形式のモデル |
| Gemini Enterprise | インライン適用 | テンプレートのみを使用する | はい | はい | すべてのモデルとすべてのクラウド |
| Google Cloud MCP サーバー(プレビュー) | インライン適用 | フロア設定のみを使用する | ○ | ○ | MCP on Google Cloud |
1Anthropic Claude、Mistral AI、Grok など、いくつかの人気モデルは OpenAI 仕様をサポートしています。これらのモデルは通常、必要な OpenAI 互換 API レイヤを提供する vLLM などの推論エンジンを使用してデプロイされます。vLLM は、Meta Llama シリーズ、DeepSeek、Mistral、Mixtral ファミリー、Gemma など、幅広いモデルをサポートしています。
REST API インテグレーション オプションの場合、Model Armor はテンプレートを使用する検出機能としてのみ機能します。つまり、ポリシー違反の可能性を積極的に防止するのではなく、事前定義されたテンプレートに基づいて特定して報告します。Model Armor API と統合すると、アプリケーションはその出力を使用して、提供されたセキュリティ評価の結果に基づいてアクションをブロックまたは許可できます。Model Armor API は、API トラフィックに関連する潜在的な脅威やポリシー違反に関する情報を返します。特に AI/LLM インタラクションの場合に役立ちます。アプリケーションは Model Armor API を呼び出し、レスポンスで受信した情報を使用して、事前定義されたカスタム ロジックに基づいて意思決定を行い、アクションを実行できます。
Vertex AI インテグレーション オプションを使用すると、Model Armor はフロア設定またはテンプレートを使用してインライン適用を行います。つまり、Model Armor は、アプリケーション コードを変更することなく、プロセスに直接介入してポリシーを積極的に適用します。
GKE と Gemini Enterprise のインテグレーションでは、インライン ポリシーの適用にのみテンプレートが使用されます。つまり、Model Armor は、GKE 推論ゲートウェイ内と Gemini Enterprise インスタンス内のユーザーまたはエージェントのインタラクションの両方で、アプリケーション コードを変更することなくポリシーを直接適用できます。
Model Armor と Gemini Enterprise のインテグレーションでは、最初のユーザー プロンプトと最終的なエージェントまたはモデルのレスポンスのみがサニタイズされます。最初のユーザー プロンプトと最終的なレスポンス生成の間に行われる中間ステップは、このインテグレーションの対象外です。
Security Command Center の Model Armor
Model Armor は、プロンプト インジェクション、ジェイルブレイクの試み、悪意のある URL、有害なコンテンツなど、さまざまな脅威について LLM のプロンプトとレスポンスを検査します。Model Armor は、構成されたフロア設定の違反を検出すると、プロンプトまたはレスポンスをブロックし、検出結果を Security Command Center に送信します。詳細については、Model Armor の検出結果をご覧ください。