Model Armor テンプレートを使用して、AI アプリケーションのプロンプトとレスポンスのスクリーニングを構成します。テンプレートには、複数の安全性とセキュリティのカテゴリ用にカスタマイズされたフィルタと上限値が用意されています。このドキュメントでは、Model Armor テンプレートを作成して管理する方法について説明します。詳細については、Model Armor テンプレートをご覧ください。
始める前に
始める前に、次のタスクを完了します。
必要な権限を取得する
Model Armor テンプレートの管理に必要な権限を取得するには、Model Armor テンプレートに対する Model Armor 管理者 (roles/modelarmor.admin
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
API を有効にする
Model Armor を使用するには、Model Armor API を有効にする必要があります。
コンソール
Enable the Model Armor API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.Model Armor を有効にするプロジェクトを選択します。
gcloud
始める前に、Google Cloud CLI で Model Armor API を使用して、次の処理を行います。
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
次のコマンドを実行して、Model Armor サービスの API エンドポイントを設定します。
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"
LOCATION
は、Model Armor を使用するリージョンに置き換えます。Google Cloud コンソールで、[Model Armor] ページに移動します。
Model Armor を有効にしたプロジェクトが表示されていることを確認します。
[Model Armor ] ページで、[テンプレートを作成] をクリックします。[テンプレートの作成] ページが表示されます。
テンプレート ID を指定します。テンプレート ID には、英字、数字、ハイフンを使用できます。63 文字以内で指定してください。スペースを含めることや、先頭をハイフンすることはできません。
Model Armor テンプレートを実行するリージョンを選択します。リージョンは後で変更できません。
省略可: ラベルを追加します。ラベルは、関連するテンプレートをグループ化するために使用できる Key-Value ペアです。
[検出] セクションで、検出設定を構成します。
省略可: Sensitive Data Protection の検出を選択する場合は、Sensitive Data Protection の設定を構成する必要があります。
[責任ある AI] セクションで、コンテンツ フィルタごとに信頼度を設定します。
省略可: [ロギングを構成する] セクションで、ロギングを構成するオペレーションを選択します。
省略可: 多言語検出の設定を使用するには、[多言語サポートを有効にする] を選択します。
[作成] をクリックします。
LOCATION
: テンプレートのロケーション。TEMPLATE_ID
: テンプレートの ID。PROJECT_ID
: テンプレートが属するプロジェクトの ID。FILTER_CONFIG
: テンプレートのフィルタ構成。PROJECT_ID
: テンプレートが属するプロジェクトの ID。TEMPLATE_ID
: 作成するテンプレートの ID。LOCATION
: テンプレートのロケーション。悪意のある URL の検出: ユーザーやシステムに害を及ぼすように設計されたウェブアドレス(URL)を特定します。これらの URL は、フィッシング サイト、マルウェアのダウンロード、その他のサイバー攻撃につながる可能性があります。詳細については、悪意のある URL の検出をご覧ください。
プロンプト インジェクションとジェイルブレイクの検出: プロンプト内の悪意のあるコンテンツとジェイルブレイクの試行を検出します。より厳格に適用するには、信頼度を低以上に設定して、プロンプト インジェクションやジェイルブレイクの可能性が高いコンテンツのほとんどを検出できるようにします。詳細については、プロンプト インジェクションとジェイルブレイクの検出をご覧ください。
Sensitive Data Protection: センシティブ データを検出し、プロンプト インジェクションなどの攻撃で露出しないようにします。詳細については、Sensitive Data Protection をご覧ください。
基本: 事前定義された infoTypes を使用してセンシティブ データを検出する、よりシンプルなアプローチ。事前定義された infoType の詳細については、基本的な Sensitive Data Protection の構成をご覧ください。
高度: 構成可能なオプション。Sensitive Data Protection サービスで定義された検査テンプレートをセンシティブ データの infoType の単一ソースとして使用します。
検査テンプレート: 検査スキャンジョブの構成情報(使用する定義済み検出機能またはカスタム検出機能など)を保存するためのテンプレート。テンプレート名を
projects/projectName/locations/locationID/inspectTemplates/templateName
の形式で入力します。省略可: 匿名化テンプレート: 匿名化ジョブの構成情報(infoType の変換と構造化データセットの変換の両方を含む)を保存するためのテンプレート。匿名化テンプレートの ID を
projects/projectName/locations/locationID/deidentifyTemplates/templateName
の形式で入力します。- なし: コンテンツ タイプは検出されません。
- 低以上: 信頼度が低、中、高のコンテンツが検出されます。
- 中以上: 信頼度が中または高のコンテンツが検出されます。
- 高: 信頼度が高いコンテンツが検出されます。
Google Cloud コンソールで、[Model Armor] ページに移動します。
Model Armor を有効にしたプロジェクトが表示されていることを確認します。[Model Armor] ページが表示され、プロジェクト用に作成されたテンプレートが一覧表示されます。
リストからテンプレートをクリックすると、その詳細が表示されます。
LOCATION
: テンプレートのロケーション。TEMPLATE_ID
: テンプレートの ID。PROJECT_ID
: テンプレートが属するプロジェクトの ID。PROJECT_ID
: テンプレートが属するプロジェクトの ID。TEMPLATE_ID
: 表示するテンプレートの ID。LOCATION
: テンプレートのロケーション。Google Cloud コンソールで、[Model Armor] ページに移動します。
Model Armor を有効にしたプロジェクトが表示されていることを確認します。[Model Armor] ページが開き、組織用に作成されたテンプレートが一覧表示されます。
リストから、更新するテンプレートをクリックします。[テンプレートの詳細] ページが表示されます。
[編集] をクリックします。
必要なパラメータを入力し、[保存] をクリックします。
LOCATION
: テンプレートのロケーション。TEMPLATE_ID
: テンプレートの ID。PROJECT_ID
: テンプレートが属するプロジェクトの ID。PROJECT_ID
: テンプレートが属するプロジェクトの ID。LOCATION
: テンプレートのロケーション。TEMPLATE_ID
: テンプレートの ID。UPDATE_MASK
: 更新するフィールド(filterConfig
、filterConfig.piAndJailbreakFilterSettings
など)。このフィールドを空欄のままにすると、フィルタ構成全体が更新されます。Google Cloud コンソールで、[Model Armor] ページに移動します。
Model Armor を有効にしたプロジェクトが表示されていることを確認します。[Model Armor] ページが開き、組織用に作成されたテンプレートが一覧表示されます。
リストから、削除するテンプレートをクリックします。[テンプレートの詳細] ページが表示されます。
[削除] をクリックします。確認ダイアログが表示されます。
削除を確定するには、テンプレート名を入力して [削除] をクリックします。
LOCATION
: テンプレートのロケーション。TEMPLATE_ID
: テンプレートの ID。PROJECT_ID
: テンプレートが属するプロジェクトの ID。PROJECT_ID
: テンプレートが属するプロジェクトの ID。LOCATION
: テンプレートのロケーション。TEMPLATE_ID
: テンプレートの ID。INSPECT_ONLY
: 構成された設定に違反するリクエストを検査しますが、ブロックはしません。INSPECT_AND_BLOCK
: 構成された設定に違反するリクエストをブロックします。- Model Armor の概要について確認する。
- Model Armor のフロア設定について確認する。
- プロンプトとレスポンスをサニタイズする。
- Model Armor に関する問題のトラブルシューティングを行う。
次のコマンドを実行して、Model Armor を有効にします。
gcloud services enable modelarmor.googleapis.com --project=PROJECT_ID
PROJECT_ID
は、プロジェクトの ID に置き換えます。
Model Armor テンプレートを作成する
Model Armor テンプレートは、Model Armor がプロンプトとレスポンスをスクリーニングして安全性とセキュリティのリスクを検出するために使用する特定のフィルタとしきい値を定義します。Model Armor テンプレートを作成する手順は次のとおりです。
コンソール
gcloud
次のコマンドを実行します。
gcloud model-armor templates create TEMPLATE_ID --project=PROJECT_ID --location=LOCATION \
--rai-settings-filters='[{ "filterType": "HATE_SPEECH", "confidenceLevel": "MEDIUM_AND_ABOVE" },{ "filterType": "HARASSMENT", "confidenceLevel": "MEDIUM_AND_ABOVE" },{ "filterType": "SEXUALLY_EXPLICIT", "confidenceLevel": "MEDIUM_AND_ABOVE" }]' \
--basic-config-filter-enforcement=enabled \
--pi-and-jailbreak-filter-settings-enforcement=enabled \
--pi-and-jailbreak-filter-settings-confidence-level=LOW_AND_ABOVE \
--malicious-uri-filter-settings-enforcement=enabled \
--template-metadata-custom-llm-response-safety-error-code=798 \
--template-metadata-custom-llm-response-safety-error-message="test template llm response evaluation failed" \
--template-metadata-custom-prompt-safety-error-code=799 \
--template-metadata-custom-prompt-safety-error-message="test template prompt evaluation failed" \
--template-metadata-ignore-partial-invocation-failures \
--template-metadata-log-operations \
--template-metadata-log-sanitize-operations
次のように置き換えます。
REST
次のコマンドを使用して、新しい Model Armor テンプレートを作成します。
curl -X POST \
-d "{'FILTER_CONFIG': {} }" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates?template_id=TEMPLATE_ID"
次のように置き換えます。
次の例は、Model Armor テンプレートの構成を示しています。この例では、ヘイトスピーチ、ハラスメント、危険なコンテンツ、性的描写が露骨なコンテンツに対して、さまざまな信頼度レベルで責任ある AI フィルタが構成されています。プロンプト インジェクションとジェイルブレイクの検出フィルタは LOW_AND_ABOVE
の信頼レベルで有効になっています。これは、低、中、高のいずれかの可能性を持つコンテンツがフラグ付けされることを意味します。悪意のある URI フィルタは有効になっています。
export FILTER_CONFIG='{
"filterConfig": {
"raiSettings": {
"raiFilters": [{
"filterType": "HATE_SPEECH",
"confidenceLevel": "MEDIUM_AND_ABOVE"
}, {
"filterType": "HARASSMENT",
"confidenceLevel": "HIGH"
}, {
"filterType": "DANGEROUS",
"confidenceLevel": "MEDIUM_AND_ABOVE"
},{
"filterType": "SEXUALLY_EXPLICIT",
"confidenceLevel": "MEDIUM_AND_ABOVE"
}]
},
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED",
"confidenceLevel": "LOW_AND_ABOVE"
},
"maliciousUriFilterSettings": {
"filterEnforcement": "ENABLED"
}
}
}'
curl -X POST \
-d "$FILTER_CONFIG" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/templates?template_id=TEMPLATE_ID"
多言語検出が有効になっている Model Armor テンプレートを作成するには、コマンドで TEMPLATE_CONFIG
パラメータを渡す必要があります。このパラメータは、言語検出設定の構成を定義します。
次のコマンドを使用して、多言語検出が有効になっている新しい Model Armor テンプレートを作成します。
curl -X POST \
-d "{'TEMPLATE_CONFIG': {} }" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates?template_id=TEMPLATE_ID"
次の例は、多言語検出が有効になっている Model Armor テンプレート構成を示しています。
export TEMPLATE_CONFIG='{
"filterConfig": {
"raiSettings": {
"raiFilters": [{
"filterType": "HATE_SPEECH",
"confidenceLevel": "MEDIUM_AND_ABOVE"
}, {
"filterType": "HARASSMENT",
"confidenceLevel": "HIGH"
}, {
"filterType": "DANGEROUS",
"confidenceLevel": "MEDIUM_AND_ABOVE"
},{
"filterType": "SEXUALLY_EXPLICIT",
"confidenceLevel": "MEDIUM_AND_ABOVE"
}]
},
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED",
"confidenceLevel": "LOW_AND_ABOVE"
},
"maliciousUriFilterSettings": {
"filterEnforcement": "ENABLED"
}
},
"templateMetadata": {
"multiLanguageDetection": {
"enableMultiLanguageDetection": true
}
}
}'
curl -X POST \
-d "$TEMPLATE_CONFIG" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/templates?template_id=TEMPLATE_ID"
Go
このコードを実行するには、まず Go 開発環境を設定し、Model Armor Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Model Armor Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Model Armor Node.js SDK をインストールします。
PHP
このコードを実行するには、まず PHP 開発環境を設定し、Model Armor PHP SDK をインストールします。
Python
このコードを実行するには、まず Python 開発環境を設定し、Model Armor Python SDK をインストールします。
検出を構成する
検出は、Model Armor がプロンプトとレスポンスに対して実行する特定のチェックです。Model Armor は、検出を構成するための柔軟なシステムを提供し、AI アプリケーションの保護レベルを調整できます。検出は、テンプレートの作成時に構成します。Model Armor は、プロンプトとレスポンスに対して次の検出チェックを実行します。
Sensitive Data Protection の設定を行う
Model Armor は Sensitive Data Protection を活用して、LLM のインタラクションで機密情報が公開されるのを特定して防ぎます。詳細については、Sensitive Data Protection をご覧ください。
Model Armor には、Sensitive Data Protection の構成用に次の 2 つのモードがあります。
[高度] モードを選択する場合は、次のパラメータを指定する必要があります。
Sensitive Data Protection に検査テンプレートと匿名化テンプレートが存在することを確認します。テンプレートが別のプロジェクトにある場合は、Model Armor サービス エージェントに、そのプロジェクトの DLP ユーザーロール(roles/dlp.user
)と DLP 読み取りロール(roles/dlp.reader
)を付与する必要があります。
信頼度を設定する
信頼度は、検出結果がコンテンツ フィルタ タイプと一致する可能性を表します。コンテンツ フィルタごとに信頼度を設定できます。値は次のいずれかになります。
より厳格な適用を行うには、信頼度を「低以上」に設定して、コンテンツ フィルタ タイプに該当するほとんどのコンテンツを検出できるようにします。信頼度を選択することもできます。
テンプレートで包括的なロギングを有効にするには、Model Armor の監査とプラットフォームのロギングをご覧ください。
Model Armor テンプレートを表示する
既存のテンプレートを表示して、使用可能な構成を確認し、プロンプトとレスポンスのスクリーニングに関する問題をトラブルシューティングして解決します。
コンソール
gcloud
次のコマンドを実行します。
gcloud model-armor templates describe TEMPLATE_ID --project=PROJECT_ID --location=LOCATION
次のように置き換えます。
REST
次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://modelarmor.LOCATION_ID.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID"
次のように置き換えます。
Go
このコードを実行するには、まず Go 開発環境を設定し、Model Armor Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Model Armor Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Model Armor Node.js SDK をインストールします。
PHP
このコードを実行するには、まず PHP 開発環境を設定し、Model Armor PHP SDK をインストールします。
Python
このコードを実行するには、まず Python 開発環境を設定し、Model Armor Python SDK をインストールします。
Model Armor テンプレートを更新する
AI アプリケーションの堅牢で効果的なセキュリティ ポスチャーを維持するために、テンプレートを定期的に更新します。
コンソール
gcloud
次のコマンドを実行します。
gcloud model-armor templates update TEMPLATE_ID --project=PROJECT_ID --location=LOCATION
次のように置き換えます。
REST
次のコマンドを実行します。
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d "$FILTER_CONFIG" \ "https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID?updateMask=UPDATE_MASK"
次のように置き換えます。
他のフィールドはすべて変更できません。他のフィールドを更新しようとすると(テンプレート名を更新しようとするなど)、エラーが発生します。
Go
このコードを実行するには、まず Go 開発環境を設定し、Model Armor Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Model Armor Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Model Armor Node.js SDK をインストールします。
PHP
このコードを実行するには、まず PHP 開発環境を設定し、Model Armor PHP SDK をインストールします。
Python
このコードを実行するには、まず Python 開発環境を設定し、Model Armor Python SDK をインストールします。
Model Armor テンプレートを削除する
テンプレートが使用されなくなった場合、新しいテンプレートに置き換えられた場合、またはセキュリティ ポリシーが変更された場合は、テンプレートを削除します。
コンソール
gcloud
次のコマンドを実行します。
gcloud model-armor templates delete TEMPLATE_ID --project=PROJECT_ID --location=LOCATION
次のように置き換えます。
REST
次のコマンドを実行します。
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://modelarmor.LOCATION_ID.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID"
次のように置き換えます。
Go
このコードを実行するには、まず Go 開発環境を設定し、Model Armor Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Model Armor Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Model Armor Node.js SDK をインストールします。
PHP
このコードを実行するには、まず PHP 開発環境を設定し、Model Armor PHP SDK をインストールします。
Python
このコードを実行するには、まず Python 開発環境を設定し、Model Armor Python SDK をインストールします。
テンプレート メタデータ
Model Armor テンプレートのメタデータは、安全性とセキュリティのチェック処理、エラー処理、ロギング動作など、Model Armor の動作を構成する際に役立ちます。
Model Armor のテンプレート メタデータには次のフィールドが含まれます。
メタデータ | タイプ | 説明 |
---|---|---|
multiLanguageDetection | ブール値 | 多言語検出を有効にします。 |
enforcement_type | 列挙型 |
適用タイプを定義します。次の値のいずれかを使用できます。 |
log_template_operations | ブール値 | テンプレート オペレーションのロギングを有効にします。 |
log_sanitize_operations | ブール値 | サニタイズ オペレーションのロギングを有効にします。 |
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-10-19 UTC。