Gemini Enterprise で Model Armor を有効にする

このドキュメントでは、Gemini Enterprise で Model Armor を有効にする方法について説明します。Model Armor は、Gemini Enterprise アシスタントによって提供されたプロンプトとレスポンスを事前にスクリーニングすることで、AI アプリケーションのセキュリティと安全性を強化する Google Cloud サービスです。これにより、さまざまなリスクから保護し、責任ある AI の実践を確保できます。Model Armor は、すべての Gemini Enterprise エディションでサポートされており、追加料金はかかりません。

Model Armor は、個人情報(PII)を削除または変更したり、センシティブ データをマスキングしたりしません。ただし、Gemini Enterprise は、Sensitive Data Protection(SDP)フィルタをトリガーする Gemini Enterprise アシスタントからのレスポンスをブロックします。

ユーザーのクエリや Gemini Enterprise アシスタントからのレスポンスで発生する可能性のある問題に対する Model Armor のレスポンスは、テンプレートの適用タイプによって制御されます。詳細については、 適用タイプを定義するをご覧ください。

  • 適用タイプが「検査してブロック」の場合、 Gemini Enterprise はリクエストをブロックし、エラー メッセージを表示します。 これは、コンソールを使用して Model Armor テンプレートを作成する場合のデフォルトの適用タイプです。

  • 適用タイプが「検査のみ」の場合、Gemini Enterprise はリクエストやレスポンスを ブロックしません。

Model Armor スクリーニング サービスが利用できない場合は、Gemini Enterprise が次のいずれかの動作を行うように構成できます。

モード 説明
ユーザー インタラクションを許可 このモードでは、Model Armor スクリーニング サービスが利用できない場合、Gemini Enterprise はリクエストとレスポンスを事前スクリーニングなしで通過させ、エンドユーザーとの継続的な通信を確保します。ただし、この方法では、スクリーニングされていないメッセージが公開される可能性や、スクリーニングされていないクエリに対する回答が提供される可能性があります。
すべてのユーザー インタラクションをブロックする このモードでは、Model Armor スクリーニング サービスが利用できない場合、Gemini Enterprise は正当なリクエストとレスポンスを含むすべてのリクエストとレスポンスをブロックします。

始める前に

Model Armor テンプレートを作成する

ユーザー プロンプトとアシスタントからのレスポンスに同じ Model Armor テンプレートを作成して使用することも、2 つの別々の Model Armor テンプレートを作成することもできます。詳細については、Model Armor テンプレートを作成するをご覧ください。

Gemini Enterprise app の Model Armor テンプレートを作成する場合は、次の構成を検討してください。

  • [リージョン] フィールドで [マルチリージョン] を選択します。次の表に、Model Armor テンプレートのリージョンを Gemini Enterprise app のリージョンにマッピングする方法を示します。

    Gemini Enterprise app のマルチリージョン Model Armor マルチリージョン
    グローバル
    • US(米国内の複数のリージョン)
    • EU(EU 内の複数のリージョン)
    US(米国内の複数のリージョン) US(米国内の複数のリージョン)
    EU(EU 内の複数のリージョン) EU(EU 内の複数のリージョン)
  • Gemini Enterprise app の Model Armor テンプレートで Cloud Logging を構成することはおすすめしません。この構成では、プライベート ログ閲覧者(roles/logging.privateLogViewer)の IAM ロールを持つユーザーにセンシティブ データが公開される可能性があります。代わりに、次のオプションを検討してください。

    • Model Armor テンプレートを通過するデータをロギングする必要がある場合は、より厳格なアクセス制御を提供する BigQuery などの安全なストレージにログを転送できます。詳細については、サポートされている宛先にログをルーティングするをご覧ください。

    • データアクセス監査ログを構成して、Model Armor によって生成されたリクエストとレスポンスのスクリーニング判定を分析してレポートできます。詳細については、監査ログを構成するをご覧ください。

Model Armor テンプレートを使用して Gemini Enterprise app を構成する

次の手順では、Model Armor テンプレートを Gemini Enterprise app に追加する方法について説明します。

コンソール

  1. Google Cloud コンソールで、[Gemini Enterprise] ページに移動します。

    Gemini Enterprise

  2. 構成するアプリの名前をクリックします。

  3. [構成] > [アシスタント] をクリックします。

  4. Model Armor を有効にするには、[Model Armor を有効にする] をクリックします。

  5. ユーザー プロンプト用の Model Armor テンプレートレスポンス出力用の Model Armor テンプレートには、作成した Model Armor テンプレートのリソース名を入力します。

  6. Model Armor の処理が失敗した場合にユーザー インタラクションをブロックするには、[Model Armor の処理が失敗した場合にユーザーの操作を許可する] 切り替えボタンをオフにします。詳細については、Model Armor が使用できない場合に Gemini Enterprise でサポートされる 2 つのモードをご覧ください。

  7. [保存して公開] をクリックします。

REST

Model Armor テンプレートを Gemini Enterprise app に追加するには、次のコマンドを実行します。

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant?update_mask=customerPolicy" \
-d '{
  "customerPolicy": {
    "modelArmorConfig": {
      "userPromptTemplate": "QUERY_PROMPT_TEMPLATE",
      "responseTemplate": "RESPONSE_PROMPT_TEMPLATE",
      "failureMode": "FAIL_MODE"
    }
  }
}'

次のように置き換えます。

  • PROJECT_ID: 実際のプロジェクトの ID。
  • ENDPOINT_LOCATION: API リクエストのマルチリージョン。次のいずれかの値を指定します。
    • 米国のマルチリージョンの場合は us
    • EU のマルチリージョンの場合は eu
    • グローバル ロケーションの場合は global
    詳細については、データストアのマルチリージョンを指定するをご覧ください。
  • LOCATION: データストアのマルチリージョン(globaluseu
  • APP_ID: 構成するアプリの ID。
  • QUERY_PROMPT_TEMPLATE: 作成した Model Armor テンプレートのリソース名
    リソース名を取得するには、Model Armor テンプレートを表示するの手順に沿って、リソース名の値をコピーします。
  • RESPONSE_PROMPT_TEMPLATE: 作成した Model Armor テンプレートのリソース名
  • FAIL_MODE: Model Armor が使用できない場合のオペレーション モード(FAIL_CLOSED または FAIL_OPEN)。
    FAIL_MODE が定義されていない場合、FAIL_CLOSE はデフォルト モードです。このモードでは、Model Armor の処理が失敗すると、Gemini Enterprise アシスタントとのすべてのインタラクションがブロックされます。詳細については、Model Armor が使用できない場合に Gemini Enterprise でサポートされる 2 つのモードをご覧ください。

Model Armor テンプレートが有効になっているかどうかをテストする

Model Armor テンプレートを構成したら、Model Armor フィルタで設定された信頼度レベルに従って、Gemini Enterprise app が Gemini Enterprise アシスタントからのユーザー プロンプトとレスポンスを事前にスクリーニングしてブロックするかどうかをテストします。

Model Armor テンプレートがポリシーに違反するリクエストを検査してブロックするように構成されている場合、次のポリシー違反メッセージが表示されます。

コンソール

たとえば、次のようなポリシー違反のメッセージが表示されます。
アプリで有効になっている model-armor テンプレートに違反した場合にユーザーに表示されるメッセージを示します。
Model Armor ポリシー違反のメッセージ

REST

次の情報を含む JSON レスポンス。

answer.state = SKIPPED
answer.assist_skipped_reasons: [CUSTOMER_POLICY_VIOLATION]

Gemini Enterprise app から Model Armor テンプレートを削除する

Gemini Enterprise app から Model Armor テンプレートを削除するには、Google Cloud コンソールまたは REST API を使用します。

コンソール

Gemini Enterprise app から Model Armor テンプレートを削除する手順は次のとおりです。

  1. Google Cloud コンソールで、[Gemini Enterprise] ページに移動します。

    Gemini Enterprise

  2. 構成するアプリの名前をクリックします。

  3. [構成] > [アシスタント] をクリックします。

  4. Model Armor を無効にするには、[Model Armor を有効にする] 切り替えボタンをクリックしてオフにします。

  5. [保存して公開] をクリックします。

REST

Gemini Enterprise app から Model Armor テンプレートを削除するには、次のコマンドを実行します。

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant?update_mask=customerPolicy" \
-d '{
  "customerPolicy": {
    "modelArmorConfig": {
    }
  }
}'

次のように置き換えます。

  • PROJECT_ID: 実際のプロジェクトの ID。
  • PROJECT_NUMBER: Google Cloud プロジェクトの数。
  • ENDPOINT_LOCATION: API リクエストのマルチリージョン。次のいずれかの値を指定します。
    • 米国のマルチリージョンの場合は us
    • EU のマルチリージョンの場合は eu
    • グローバル ロケーションの場合は global
    詳細については、データストアのマルチリージョンを指定するをご覧ください。
  • LOCATION: データストアのマルチリージョン(globalus、または eu)。
  • APP_ID: 構成するアプリの ID。

監査ログを構成する

Model Armor はデータアクセス監査ログを書き込むことが可能です。このログを使用して、Model Armor によって生成されたリクエストとレスポンスのスクリーニング結果を分析し、レポートを作成できます。これらのログには、ユーザーのクエリや Gemini Enterprise アシスタントからのレスポンスは含まれていないため、レポートや分析に安全に使用できます。詳細については、Model Armor の監査ロギングをご覧ください。

これらのログにアクセスするには、プライベート ログ閲覧者roles/logging.privateLogViewer)の IAM ロールが必要です。

データアクセス監査ログを有効にする

データアクセス監査ログを有効にするには、次の操作を行います。

  1. Google Cloud コンソールで、[IAM と管理] > [監査ログ] に移動します。

  2. [Model Armor API] を選択します。

  3. [権限タイプ] セクションで、[データ読み取り] 権限タイプを選択します。

  4. [保存] をクリックします。

データアクセスの監査ログを調べる

データアクセス監査ログを調べる手順は次のとおりです。

  1. Google Cloud コンソールで、[ログ エクスプローラ] に移動します。

  2. ログで次のメソッド名を検索します。

    • methodName: "google.cloud.modelarmor.v1.ModelArmor.SanitizeUserPrompt"(スクリーニングされたユーザー リクエストを表示)

    • google.cloud.modelarmor.v1.ModelArmor.SanitizeModelResponse(スクリーニングされた回答を表示)

Model Armor を使用する際の考慮事項

Gemini Enterprise で Model Armor を使用する場合は、次の点を考慮してください。

トークン数 Model Armor を使用する Gemini Enterprise app のトークン上限は、Model Armor で構成された特定のフィルタによって決まります。これらの上限の詳細については、Model Armor のドキュメントの該当するトークン上限をご覧ください。
サービスレベル契約 Gemini Enterprise にはサービスレベル契約が用意されています。Gemini Enterprise が Model Armor を使用するように構成されている場合、フェイル オープン モードとフェイル クローズ モードのどちらが使用されているかに関係なく、ブロックされたクエリは SLA 違反としてカウントされません。
コンプライアンス Gemini Enterprise と Model Armor はどちらも、さまざまなコンプライアンス認証を提供しています。両方を組み合わせて使用する場合、有効なコンプライアンス認証は両方のプロダクトの共通サブセットになります。両方のプロダクトのコンプライアンス認証を確認し、規制要件を満たしていると確認することをおすすめします。
ドキュメントのスクリーニング Model Armor テンプレートがユーザー リクエストをスクリーニングするように構成されている場合、リクエストに含まれるドキュメントがスクリーニングされます。スクリーニングは、リクエストにドキュメントを追加したときに行われます。構成されたテンプレートのポリシーにドキュメントが違反している場合、ドキュメントは破棄され、リクエストに含まれません。サポートされているドキュメント タイプのリストについては、ドキュメントのスクリーニングをご覧ください。