このドキュメントでは、Gemini Notebook Enterprise で Model Armor を有効にする方法について説明します。Model Armor は、Gemini Notebook Enterprise を使用して提供されたプロンプトとレスポンスを事前にスクリーニングすることで、AI アプリケーションのセキュリティと安全性を強化する Google Cloud サービスです。これにより、さまざまなリスクから保護し、責任ある AI の実践を確保できます。Model Armor は Gemini Notebook Enterprise でサポートされており、追加料金はかかりません。
ユーザーのクエリや 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 テンプレートがポリシーに違反するリクエストを検査してブロックするように構成されている場合、次のポリシー違反メッセージが表示されます。
コンソール
たとえば、次のようなポリシー違反のメッセージが表示されます。
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 の監査ロギングをご覧ください。
これらのログにアクセスするには、プライベート ログ閲覧者(roles/logging.privateLogViewer)の IAM ロールが必要です。
データアクセス監査ログを有効にする
データアクセス監査ログを有効にするには、次の操作を行います。
Google Cloud コンソールで、[IAM と管理] > [監査ログ] に移動します。
[Model Armor API] を選択します。
[権限タイプ] セクションで、[データ読み取り] 権限タイプを選択します。
[保存] をクリックします。
データアクセスの監査ログを調べる
データアクセス監査ログを調べる手順は次のとおりです。
Google Cloud コンソールで、[ログ エクスプローラ] に移動します。
ログで次のメソッド名を検索します。
google.cloud.modelarmor.v1.ModelArmor.SanitizeUserPrompt(スクリーニングされたユーザー リクエストを表示)google.cloud.modelarmor.v1.ModelArmor.SanitizeModelResponse(スクリーニングされた回答を表示)