フィルタ バージョンを設定する

このドキュメントでは、Model Armor フィルタ バージョンの仕組みと、オペレーションで特定のフィルタ バージョンまたはフィルタ バージョン エイリアスを使用するように Model Armor に指示する方法について説明します。

Model Armor は、フィルタを使用して、LLM のプロンプトとレスポンスに含まれる有害なコンテンツ、機密データ、悪意のある URL、プロンプト インジェクション攻撃を検出してブロックします。詳細については、Model Armor フィルタをご覧ください。

Model Armor フィルタ バージョンは、本番環境ワークロードの安定性と、最新の脅威検出モデルへのアクセスを提供します。テンプレート レベルで 1 つのフィルタ バージョンを設定します。個々のフィルタに異なるバージョンを指定することはできません。

フィルタのバージョンとエイリアスを構成するタイミング

一般的なユースケースは次のとおりです。

  • 決定論的なフィルタリング動作をロックする: テンプレートを特定のフィルタ バージョンに設定して、ミッション クリティカルなシステムで脅威検出ロジックが変更されないようにします。
  • セキュリティ アップデートを自動的に受信する: Stable エイリアスを使用すると、検証に合格した更新済みの脅威検出モデルを自動的に採用できます。
  • 今後の検出機能をテストする: 本番環境前の環境で Latest エイリアスを使用して、実際のトラフィック パターンに対して新しいフィルタルールを評価します。
  • 予測可能なロールアウト サイクルを有効にする: 本番環境テンプレートを手動で更新する前に、新しくリリースされたフィルタ バージョンに対してワークロードを検証します。

バージョンのエイリアス

Model Armor テンプレートでは、エイリアスを使用して、優先するフィルタ バージョンを指定できます。エイリアスは、バージョン ライフサイクルのステージを表します。各エイリアスは、ライフサイクルの進行に合わせて適切なバージョンに設定されます。

エイリアスを選択すると、テンプレートはエイリアスが設定されているバージョンを使用します。そのエイリアスの基盤となるバージョンが更新されると(たとえば、新しいバージョンが Stable に昇格されると)、エイリアスを使用するテンプレートは自動的に新しいバージョンを使用します。フィルタ バージョンを変更しない場合は、テンプレートで特定のフィルタ バージョンを指定します。

次のエイリアスから選択できます。

  • Latest: 最新のモデルと保護機能を備えたエイリアス。新たな脅威に対して頻繁に更新されます。このエイリアスは標準のサービスレベル目標(SLO)を提供しますが、安定性はバージョンによって異なる場合があります。これは、一貫したフィルタ動作よりも最新の検出モデルを優先するテスト、ステージング、ワークロードに適しています。
  • Stable: テンプレートが利用可能なバージョンのデフォルトのエイリアス。このエイリアスは、信頼性の高い不変の検出ロジックを提供し、不変のフィルタ動作を必要とする本番環境やワークロードに適しています。新しいバージョンが Stable になると、以前の Stable バージョンは Legacy になります。
  • Legacy: 以前の Stable バージョンのエイリアス。新しい Stable バージョンがリリースされてから 90 日間使用できます。この期間中は、いつでも本番環境システムを新しい Stable バージョンに移行できます。Legacy バージョンを使用して新しいテンプレートを作成することはできません。
  • Retired: 90 日間のレガシー期間が過ぎて使用できなくなったバージョンのエイリアス。Model Armor は、Stable バージョンを使用して、Retired バージョンを引き続き使用しているテンプレートへの呼び出しをサニタイズします。

フィルタ バージョンを使用しないフィルタ

フィルタ バージョンの設定は、Sensitive Data Protection と悪意のある URL フィルタには影響しません。

バージョンのライフサイクル

Google Cloud は、バージョンが Legacy になったときや、今後の廃止日など、バージョンのライフサイクルの変更に関する通知を、すべての Sanitize API レスポンスで提供します。Legacy バージョンを使用するテンプレートは、90 日以内に Stable または Latest に移行する必要があります。

次の例では、バージョンのライフサイクルについて説明します。

  1. リリース(Latest): Google は、新しいフィルタ バージョン(v2)を Latest としてリリースします。
  2. プロモーション(Latest から Stable): Google が Latest バージョンを Stable にプロモートすると(v2 が Stable になる)、次の処理が行われます。
    1. Google は、以前の Stable バージョン(v1)を Legacy に移動します。
    2. 新しいバージョン(v3)が新しい Latest になります。Google は、厳格なテストを経て、一貫した日常的な使用が実証され、お客様の問題が最小限に抑えられたバージョン、または重要な脅威保護が必要になったバージョンをプロモートします。
  3. 廃止(Legacy から Retired): フィルタ バージョンが Legacy 状態のまま 90 日が経過すると、Google はそのバージョンを廃止し、使用できなくなります。

バージョンのリリース タイムライン

次の表に、エイリアス、リリース日、廃止日、サポート対象の地域など、フィルタ バージョンの詳細を示します。

バージョン エイリアス リリース日 廃止日 サポート対象の地域
v1 Legacy

(asia-northeast3 では Stable、australia-southeast2 では 2026 年 9 月 25 日から Legacy)

2025-01-30 2026-12-17

asia-northeast1

asia-northeast3(Stable)

asia-south1

asia-southeast1

australia-southeast2(2026 年 9 月 25 日以降は Legacy)

europe-southwest1

europe-west9

northamerica-northeast2

us

us-central1

us-east4

us-west1

v2 Legacy 2025-06-19 2026-12-17

eu

europe-west1

europe-west2

europe-west3

europe-west4

us-east1

v3 Stable

(australia-southeast2 では 2026 年 9 月 25 日から Stable)

2026-05-25 —

asia-northeast1

asia-south1

asia-southeast1

australia-southeast2(2026 年 9 月 25 日以降は Stable)

eu

europe-southwest1

europe-west1

europe-west2

europe-west3

europe-west4

europe-west9

northamerica-northeast2

southamerica-east1

us

us-central1

us-east1

us-east4

us-west1

v4 Latest 2026-09-18 —

asia-northeast1

asia-south1

asia-southeast1

eu

europe-southwest1

europe-west1

europe-west2

europe-west3

europe-west4

europe-west9

northamerica-northeast2

southamerica-east1

us

us-central1

us-east1

us-east4

us-west1

各バージョンの変更内容については、フィルタの変更履歴をご覧ください。

テンプレートの動作

テンプレートの動作は、使用するフィルタのバージョンによって異なり、次の特性に従います。

  • バージョンが指定されていないテンプレート: バージョンが指定されていないテンプレート(新規または既存)は、デフォルトで Stable バージョンになります。
  • Latest または Stable エイリアスを使用するテンプレート: これらのテンプレートは、これらのエイリアスに割り当てられたバージョンを自動的に使用します。たとえば、新しいフィルタ バージョンが Stable バージョンになると、Stable エイリアスを使用するテンプレートは、テンプレートを変更することなく新しいバージョンに移行します。

  • 特定のバージョンを使用するテンプレート:

    • バージョンが Latest バージョンまたは Stable バージョンに対応している場合、テンプレートは想定どおりに動作します。
    • バージョンが Legacy バージョンに対応している場合、テンプレートは 90 日間のサニタイズ オペレーションに使用されると、想定どおりに動作します。90 日が経過すると、バージョンは Retired フェーズに移行します。このフェーズでは、テンプレートを Latest バージョンまたは Stable バージョンに移行する必要があります。

フロア設定のデフォルトのフィルタ バージョンをオーバーライドする

フロア設定では、Gemini Enterprise Agent Platform の統合はデフォルトで Stable フィルタ バージョンを使用します。この設定をオーバーライドするには、Gemini モデルへの generateContent 呼び出しでテンプレートを指定します。これを行うには、Gemini リクエストを送信するリージョンに、特定のフィルタ バージョンまたはエイリアスを含むテンプレートを作成します。

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: Model Armor テンプレートを保存するリージョン。このリージョンは、Gemini リクエストを送信するリージョンと同じにする必要があります。そうしないと、Agent Platform が Template not found エラーを受け取ります。この統合でサポートされているリージョンの一覧については、Gemini Enterprise Agent Platform との統合をご覧ください。

Gemini 呼び出しの model_armor_config オブジェクトにテンプレート ID を指定します。プロジェクト レベルのフロア設定ではなく、テンプレートで指定されたフィルタ構成が適用されます。

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/gemini-2.5-flash:generateContent" \
  -d '{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "Your prompt here"
        }
      ]
    }
  ],
  "model_armor_config": {
    "prompt_template_name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
    "response_template_name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID"
  }
}'

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

  • PROJECT_ID: Google Cloud プロジェクト ID。
  • REGION: Gemini エンドポイントの Google Cloud リージョン。
  • LOCATION: Model Armor テンプレートが保存されているリージョン。これは、REGION に指定したリージョンと同じにする必要があります。
  • TEMPLATE_ID: Model Armor テンプレート ID。

テンプレートのフィルタ バージョンを構成する

テンプレートのフィルタ バージョンは、次の 2 つの方法のいずれかで構成できます。

  • エイリアスを使用する: 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": 6,
        "day": 19
      },
      "projectedDeprecationDate": {
        "year": 2026,
        "month": 12,
        "day": 17
      },
      "messageItems": [
        {
          "messageType": "WARNING",
          "message": "This filter version (v2) is in LEGACY state and will be
          RETIRED on 2026-12-17. Please migrate your template to the STABLE or
          LATEST version to ensure continued protection."
        }
      ]
   }
  },
}

Model Armor は、サニタイズ リクエストとそのレスポンスのプラットフォーム ログを Cloud Logging に生成します。自動生成された監査ログの詳細については、Model Armor の監査ロギングをご覧ください。