このドキュメントでは、Model Armor フィルタ バージョンの仕組みと、オペレーションで特定のフィルタ バージョンまたはフィルタ バージョン エイリアスを使用するように Model Armor に指示する方法について説明します。
Model Armor はフィルタを使用して、LLM プロンプトとレスポンスで有害なコンテンツ、センシティブ データ、悪意のある URL、プロンプト インジェクション攻撃を検出してブロックします。詳細については、 Model Armor フィルタをご覧ください。
Model Armor フィルタ バージョンは、本番環境のワークロードの安定性と、最新の脅威検出モデルへのアクセスを提供します。テンプレート レベルで単一のフィルタ バージョンを構成します。個々のフィルタに異なるバージョンを指定することはできません。
バージョンのエイリアス
Model Armor テンプレートでは、エイリアスを使用して優先するフィルタ バージョンを指定できます。エイリアスは、バージョン ライフサイクルのステージを表します。 ライフサイクルの進行に伴い、各エイリアスは適切なバージョンに設定されます。
エイリアスを選択すると、テンプレートはそのエイリアスに設定されているバージョンを使用します。
エイリアスの基盤となるバージョンが更新されると(たとえば、新しいバージョンが
Stable に昇格した場合)、エイリアスを使用するテンプレートは自動的に新しいバージョンを使用します。フィルタ
バージョンを変更しない場合は、テンプレートを特定のフィルタ バージョンに設定します。
次のエイリアスから選択できます。
Latest: 最新のモデルと保護機能を備えたエイリアス。新たな脅威に対して頻繁に更新されます。このエイリアスは標準のサービスレベル目標(SLO)を提供しますが、バージョンによって安定性が異なる場合があります。テスト、ステージング、一貫したフィルタ動作よりも最新の検出モデルを優先するワークロードに適しています。Stable: テンプレートが利用可能なバージョンのデフォルト エイリアス。このエイリアスは、信頼性が高く、変更されない検出ロジックを提供します。本番環境や、フィルタ動作の変更を必要としないワークロードに適しています。 新しいバージョンがStableになると、以前のStableバージョンはLegacyになります。Legacy: 新しいStableバージョンがリリースされてから 90 日間利用可能な、以前のStableバージョンのエイリアス。この期間中はいつでも、本番環境システムを新しいStableバージョンに移行できます。Legacyバージョンを使用して新しいテンプレートを作成することはできません。Retired: 90 日間のレガシー期間を超過し、利用できなくなったバージョンのエイリアス。Model Armor は、Retiredバージョンをまだ使用しているテンプレートの呼び出しをサニタイズするためにStableバージョンを使用します。
フィルタ バージョンを使用しないフィルタ
フィルタ バージョンの設定は、Sensitive Data Protection フィルタと悪意のある URL フィルタには影響しません。
バージョンのライフサイクル
Google Cloud は、バージョンのライフサイクルの変更に関する通知を提供します。
これには、バージョンが Legacy になったときや、
すべての サニタイズ API レスポンスにおける廃止予定日が含まれます。Legacy
バージョンを使用するテンプレートは、90 日以内に Stable または Latest に移行する必要があります。
次の例では、バージョンのライフサイクルについて説明します。
- リリース(
Latest): Google は新しいフィルタ バージョン(v2)をLatestとしてリリースします。 - 昇格(
LatestからStable):LatestバージョンをStableに昇格させると(v2がStableになる)、次のようになります。- 以前の
Stableバージョン(v1)がLegacyに移動します。 - 新しいバージョン(
v3)が新しいLatestになります。バージョンは、厳格なテストを受け、一貫した日常的な使用が実証され、お客様の問題が最小限に抑えられている場合、または重大な脅威保護が必要になった場合に昇格します。
- 以前の
- 廃止(
LegacyからRetired): フィルタ バージョンがLegacy状態のまま 90 日間経過すると、廃止され、利用できなくなります。
バージョンのリリース スケジュール
次の表に、エイリアス、サポートされているリージョン、リリース日など、フィルタ バージョンの詳細を示します。
| バージョン | エイリアス | サポートされているリージョン |
|---|---|---|
v1 |
Stable |
asia-northeast1
|
v2 |
Stable |
|
v3 |
Latest |
|
最新バージョンの変更点については、 変更履歴をご覧ください。
テンプレートの動作
テンプレートの動作は、使用するフィルタ バージョンによって異なり、次の特性があります。
- バージョンなしのテンプレート: 新規または既存の、バージョンが指定されていないテンプレートは、デフォルトで
Stableバージョンになります。 LatestまたはStableエイリアスを持つテンプレート: これらのテンプレートは、これらのエイリアスに割り当てられたバージョンを自動的に 使用します。たとえば、新しいフィルタ バージョンがStableバージョンになると、Stableエイリアスを使用するテンプレートは、テンプレートを変更しなくても新しいバージョンに移行します。特定のバージョンを使用するテンプレート:
- バージョンが
LatestバージョンまたはStableバージョンに対応している場合、テンプレートは想定どおりに動作します。 - バージョンが
Legacyバージョンに対応している場合、90 日間のサニタイズ オペレーションに使用すると、テンプレートは想定どおりに動作します。90 日が経過すると、バージョンはRetiredフェーズに移行します。このフェーズでは、テンプレートをLatestバージョンまたはStableバージョンに移行する必要があります。
- バージョンが
フィルタ バージョンを構成する
テンプレートのフィルタ バージョンは、次のいずれかの方法で構成できます。
- エイリアスを使用する:
StableやLatestなどの動的エイリアスを使用して、テンプレートが優先するエイリアスに対応するバージョン番号を自動的に使用するようにします。これにより、基盤となるバージョンが変更されたときに手動で更新する必要がなくなります。 - バージョン番号を使用する:
v1などのバージョン番号を使用して、テンプレートが指定されたバージョンに設定されるようにします。これにより、エイリアスが更新されても、動作が固定され、変更されなくなります。
バージョン エイリアスを使用してテンプレートを作成する
特定のバージョン エイリアスを使用してテンプレートを作成するには、次のコマンドを実行します。
export TEMPLATE_CONFIG='{
"filterConfig": {
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED"
}
},
"templateMetadata": {
"filterVersionSelector": {
"alias": "FILTER_VERSION_ALIAS"
}
}
}'
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "$TEMPLATE_CONFIG" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates?template_id=TEMPLATE_ID"
次のように置き換えます。
FILTER_VERSION_ALIAS: 優先するフィルタ バージョン エイリアス。FILTER_VERSION_ALIAS_STABLEまたはFILTER_VERSION_ALIAS_LATESTを使用します。PROJECT_ID: テンプレートが属するプロジェクトの ID。TEMPLATE_ID: 作成するテンプレートの ID。LOCATION: テンプレートの ロケーション。
レスポンスは次の例のようになります。
{
"name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
"createTime": "2026-04-05T17:57:46.976854398Z",
"updateTime": "2026-04-05T17:57:46.976854398Z",
"filterConfig": {
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED"
}
},
"templateMetadata": {
"filterVersionSelector": {
"alias": "FILTER_VERSION_ALIAS"
}
}
}
特定のフィルタ バージョンを使用してテンプレートを作成する
フィルタの不変性が必要な場合は、特定のバージョンに対応するテンプレートを作成できます。これを行うには、次のコマンドを実行します。
export TEMPLATE_CONFIG='{
"filterConfig": {
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED"
}
},
"templateMetadata": {
"filterVersionSelector": {
"version": "FILTER_VERSION_NUMBER"
}
}
}'
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "$TEMPLATE_CONFIG" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates?template_id=TEMPLATE_ID"
次のように置き換えます。
PROJECT_ID: テンプレートが属するプロジェクトの ID。TEMPLATE_ID: 作成するテンプレートの ID。LOCATION: テンプレートの ロケーション。FILTER_VERSION_NUMBER: 優先するフィルタ バージョン番号(例:v1)。
レスポンスは次の例のようになります。
{
"name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
"createTime": "2026-04-05T18:03:29.134974974Z",
"updateTime": "2026-04-05T18:03:29.134974974Z",
"filterConfig": {
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED"
}
},
"templateMetadata": {
"filterVersionSelector": {
"version": "FILTER_VERSION_NUMBER"
}
}
}
テンプレートのフィルタ バージョンを更新する
既存のテンプレートのフィルタ バージョンまたはエイリアスを更新するには、次のコマンドを実行します。
export TEMPLATE_CONFIG='{
"templateMetadata": {
"filterVersionSelector": {
"alias": "FILTER_VERSION_ALIAS"
}
}
}'
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "$TEMPLATE_CONFIG" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID?updateMask=templateMetadata.filterVersionSelector"
次のように置き換えます。
FILTER_VERSION_ALIAS: 優先するフィルタ バージョン エイリアス。FILTER_VERSION_ALIAS_STABLEまたはFILTER_VERSION_ALIAS_LATESTを使用します。PROJECT_ID: テンプレートが属するプロジェクトの ID。TEMPLATE_ID: 作成するテンプレートの ID。LOCATION: テンプレートの ロケーション。
レスポンスは次の例のようになります。
{
"name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
"createTime": "2026-04-05T18:03:29.134974974Z",
"updateTime": "2026-04-05T18:04:07.711205953Z",
"filterConfig": {
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED"
}
},
"templateMetadata": {
"filterVersionSelector": {
"alias": "FILTER_VERSION_ALIAS"
}
}
}
サニタイズ オペレーションで使用されるフィルタ バージョンを表示する
Sanitize API レスポンス メタデータには、サニタイズ中に使用されるフィルタ バージョンに関する情報が含まれています。Google がバージョンを廃止する 30 日前に、サニタイズ API レスポンスで非推奨の警告が表示されます。
次の例は、フィルタ バージョンを含む API レスポンスを示しています。
"sanitizationResult": { "filterMatchState": "NO_MATCH_FOUND", "invocationResult": "SUCCESS", "filterResults": { "csam": { "csamFilterFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } }, "malicious_uris": { "maliciousUriFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } }, "rai": { "raiFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND", "raiFilterTypeResults": { "sexually_explicit": { "matchState": "NO_MATCH_FOUND" }, "hate_speech": { "matchState": "NO_MATCH_FOUND" }, "harassment": { "matchState": "NO_MATCH_FOUND" } } } }, "pi_and_jailbreak": { "piAndJailbreakFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } }, "sdp": { "sdpFilterResult": { "inspectResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } } } }, "sanitizationMetadata": { "filterVersionConfig": { "filterVersion": "v2", "filterVersionAlias": "FILTER_VERSION_ALIAS_LEGACY", "releaseDate": { "year": 2025, "month": 5, "day": 1 }, "projectedDeprecationDate": { "year": 2026, "month": 5, "day": 1 }, "messageItems": [ { "messageType": "WARNING", "message": "This filter version (v2) is in LEGACY state and will be RETIRED on 2026-05-01. Please migrate your template to the STABLE or LATEST version to ensure continued protection." } ] } }, }
Model Armor は、サニタイズ リクエストとそのレスポンスのプラットフォーム ログを Cloud Logging に生成します。自動生成された 監査ログの詳細については、Model Armor の監査ロギングをご覧ください。