Gemini Notebook Enterprise で Model Armor を有効にする

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

Model Armor は、個人情報(PII)を削除または変更したり、機密データをマスキングしたりしません。ただし、Gemini Notebook Enterprise は、Sensitive Data Protection 検出機能をトリガーするレスポンスをブロックします。

ユーザーのクエリや Gemini Notebook Enterprise からのレスポンスで発生する可能性のある問題に対する Model Armor のレスポンスは、テンプレートの適用タイプによって制御されます。

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

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

詳細については、適用タイプを定義するをご覧ください。

始める前に

自分とサービス アカウントに必要なロールが割り当てられていることを確認します。

  • Gemini Notebook Enterprise で Model Armor を有効にするには、Gemini Enterprise 管理者(roles/discoveryengine.agentspaceAdmin)ロールが必要です。

  • Model Armor テンプレートを作成するには、Model Armor 管理者ロール(roles/modelarmor.admin)が必要です。

  • Model Armor API を呼び出すには、Model Armor ユーザーロール(roles/modelarmor.user)が必要です。

  • Model Armor テンプレートが Gemini Notebook Enterprise のノートブックとは異なるプロジェクトにある場合、テンプレートのプロジェクトは、ノートブックのサービス アカウントに Model Armor ユーザーロール(roles/modelarmor.user)を付与する必要があります。サービス アカウント ID は service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com です。ここで、PROJECT_NUMBER は Gemini Notebook Enterprise インスタンスのプロジェクト番号です。

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

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

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

  • Model Armor テンプレートを 1 つのプロジェクトで一元的に作成し、異なるプロジェクトで再利用できます。プロジェクト間のテンプレートを使用する場合は、始める前にの説明に従って、プロジェクト間の権限が構成されていることを確認します。

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

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

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

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

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

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

REST

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

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/v1alpha/projects/PROJECT_NUMBER?update_mask=customerProvidedConfig" \
-d '{
  "customerProvidedConfig": {
    "notebooklmConfig": {
      "modelArmorConfig": {
        "userPromptTemplate": "QUERY_PROMPT_TEMPLATE",
        "responseTemplate": "RESPONSE_PROMPT_TEMPLATE"
      }
    }
  }
}'

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

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

    リソース名を取得するには、Model Armor テンプレートを表示するの手順に沿って、リソース名の値をコピーします。

  • RESPONSE_PROMPT_TEMPLATE: 作成した Model Armor テンプレートのリソース名。同じプロジェクトで作成された Model Armor テンプレートを使用することも、別のプロジェクトから作成された Model Armor テンプレートを使用することもできます。

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

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

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

コンソール

たとえば、次のようなポリシー違反のメッセージが表示されます。

Gemini Notebook Enterprise で有効になっている model-armor テンプレートに違反した場合にユーザーに表示されるメッセージを示します。
Model Armor のポリシー違反メッセージ

REST

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

次に例を示します。json "answer.state": "SKIPPED", "answer.assist_skipped_reasons": "CUSTOMER_POLICY_VIOLATION_REASON"

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

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

REST

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/v1alpha/projects/PROJECT_NUMBER?update_mask=customerProvidedConfig" \
-d '{
  "customerProvidedConfig": {
    "notebooklmConfig": {
      "modelArmorConfig": {}
    }
  }
}'

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

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

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

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

匿名化とマスキング Model Armor が Sensitive Data Protection テンプレートを使用してプロンプトまたはレスポンスをスキャンする場合、Model Armor は、コンテンツがテンプレートで定義された検出機能の条件に一致するかどうかを確認します。Sensitive Data Protection はテンプレート構成に基づく匿名化をサポートしていますが、Model Armor は匿名化またはマスクされたデータを Gemini Notebook Enterprise に返しません。コンテンツが Sensitive Data Protection の検出機能をトリガーし、適用タイプが INSPECT_AND_BLOCK の場合、Gemini Notebook Enterprise はリクエストまたはレスポンスを匿名化するのではなく、ブロックします。
トークンの上限と割り当て Gemini Notebook Enterprise で Model Armor を使用する場合、直接的なトークン上限はありませんが、Model Armor 評価の合計スループットは、Gemini Enterprise システムの割り当てと Model Armor API のレート制限によって間接的に管理されます。
サービスレベル契約 Gemini Notebook Enterprise にはサービスレベル契約が用意されています。Gemini Notebook Enterprise が Model Armor を使用するように構成されている場合、フェイル オープン モードとフェイル クローズ モードのどちらが使用されているかに関係なく、ブロックされたクエリは SLA 違反としてカウントされません。
コンプライアンス Gemini Notebook Enterprise と Model Armor はどちらも、さまざまなコンプライアンス認証を提供しています。両方を組み合わせて使用する場合、有効なコンプライアンス認証は両方のプロダクトの共通サブセットになります。両方のプロダクトのコンプライアンス認証を確認し、規制要件を満たしていると確認することをおすすめします。
ドキュメントのスクリーニング Model Armor テンプレートがユーザー プロンプトまたはレスポンスをスクリーニングするように構成されている場合、ソースから抽出されたドキュメント テキストは、リクエストで送信されるときにスクリーニングされます。ただし、ドキュメントに埋め込まれた画像はスクリーニングされません。サポートされているドキュメント タイプのリストについては、ドキュメントのスクリーニングをご覧ください。

監査ログの構成

Model Armor は、リクエストとレスポンスのスクリーニング結果の分析に使用できるデータアクセスの監査ログを記録します。これらのログには、Gemini Notebook Enterprise のユーザークエリやレスポンスは含まれていないため、レポートや分析に安全に使用できます。詳細については、Model Armor の監査ロギングをご覧ください。

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

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

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

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

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

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

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

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

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

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

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

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

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