このドキュメントでは、Model Armor のフロア設定を表示して更新する方法について説明し、フロア設定違反の例を示します。
Model Armor のフロア設定は、 Google Cloud リソース階層の特定のポイント(組織レベル、フォルダレベル、プロジェクト レベル)で作成されたすべての Model Armor テンプレートの最小要件を指定するルールを定義します。複数のフロア設定が競合する場合は、リソース階層の下位にある設定が優先されます。たとえば、フロア設定ポリシーがフォルダレベルとプロジェクト レベルで作成されている場合、プロジェクト レベルのポリシーが適用されます。この動作は、その特定のフォルダ内のプロジェクトにのみ適用されます。
たとえば、特定のフォルダにフォルダレベルのポリシーを設定し、そのフォルダ内のすべてのコンテンツに対して悪意のある URI フィルタを有効にしたとします。そのフォルダ内に特定のプロジェクトがあります。このプロジェクトでは、より具体的なプロジェクト レベルのポリシーを構成しています。このプロジェクト レベルのポリシーでは、中程度の信頼度しきい値でプロンプト インジェクションとジェイルブレイクの検出が必要です。
結果は次のとおりです。
この特定のプロジェクト内に作成される Model Armor テンプレートには、少なくとも中程度の信頼度しきい値で設定されたプロンプト インジェクションとジェイルブレイクの検出フィルタを含める必要があります。これは、プロジェクト レベルのポリシーによって、そのプロジェクト内のすべてのテンプレートの最小要件が確立されるためです。
このプロジェクトの親フォルダの外で作成されたテンプレートは、その特定のフォルダのポリシーの影響を受けません。そのため、別のフォルダ内またはルートレベルでテンプレートを作成した場合、この特定のフォルダに設定された悪意のある URI フィルタは自動的には適用されません。これは、これらのポリシーが特定の階層レベルにスコープ設定されており、より上位の広範な組織レベルで設定されていない限り、グローバルに適用されないことを示しています。
フロア設定により、CISO とセキュリティ アーキテクトは、組織内のすべての Model Armor テンプレートに最小限のセキュリティ ポスチャーを適用できます。これらの設定は、デベロッパーがセキュリティ標準を損なうことを防ぐのに役立ちます。Security Command Center のプレミアム サービスティアまたはエンタープライズ サービスティアを使用している場合、フロア設定の違反によって検出結果がトリガーされます。制限の緩い設定のテンプレートがフロア設定の前に作成されると、Security Command Center は検出結果を表示します。これらの設定は、安全性の低い Model Armor テンプレートを特定して修復するのに役立ちます。フロア設定では Sensitive Data Protection を適用できません。
始める前に
始める前に、次のタスクを完了します。
必要な権限を取得する
フロア設定の管理に必要な権限を取得するには、Model Armor フロア設定に対する Model Armor Floor Setting 管理者(roles/modelarmor.floorSettingsAdmin
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
API を有効にする
Model Armor を使用するには、Model Armor API を有効にする必要があります。
コンソール
Enable the Model Armor API.
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] ページで、[フロア設定] タブに移動し、[フロア設定を構成] をクリックします。
- [フロア設定を構成] ページで、構成オプションを選択します。
- [検出] セクションで、検出設定を構成します。
- 省略可: Sensitive Data Protection の検出を選択する場合は、Sensitive Data Protection の設定を構成する必要があります。
[責任ある AI] セクションで、コンテンツ フィルタごとに信頼度を設定します。
[サービス] セクションで、これらのフロア設定を適用するサービスを選択します。
[ログ] セクションで、[Cloud Logging を有効にする] を選択して、すべてのユーザー プロンプト、モデル レスポンス、フロア設定の検出機能の結果をログに記録します。
多言語検出の設定を使用するには、[多言語サポートを有効にする] を選択します。
[フロア設定を保存] をクリックします。
親のフロア設定を継承する: リソース階層の上位で設定されたフロア設定を継承します。[フロア設定を保存] をクリックして、次の手順をスキップします。継承された設定を表示するには、[フロア設定] タブに移動します。
カスタム: このプロジェクトのフロア設定を定義します。プロジェクトに定義したカスタム設定によって、継承されたフロア設定がオーバーライドされます。
無効にする: 継承されたフロア設定を無効にします。つまり、Gemini ワークロードの Model Armor テンプレートと Vertex AI に検出ルールが適用されません。[フロア設定を保存] をクリックして、次の手順をスキップします。[フロア設定] タブで無効ステータスを確認します。
- Model Armor - テンプレートの作成と更新: フロア設定に従って、プロジェクト内の新規および変更済みのすべての Model Armor テンプレートに最小設定が指定されていることを確認します。
Vertex AI: Gemini モデルに送信されたリクエストをスクリーニングし、フロア設定のしきい値を満たすリクエストをログに記録するかブロックします。
[Vertex AI] を選択すると、[Vertex AI] セクションが表示され、フロア設定の適用方法を選択できます。
- 検査のみ: フロア設定を満たしていないリクエストを検出しますが、ブロックしません。
- 違反を検出し、ブロックする: フロア設定を満たしていないリクエストを検出してブロックします。
Google Cloud コンソールで、[Model Armor] ページに移動します。
Model Armor を有効にしたプロジェクトが表示されていることを確認します。
[Model Armor] ページの [フロア設定] タブに移動します。フロア設定が組織レベルで設定されている場合は、ここで確認できます。フロア設定が定義されていない場合は、構成する必要があります。詳細については、フロア設定を構成するをご覧ください。
特定のプロジェクトの Model Armor のフロア設定を表示します。
gcloud model-armor floorsettings describe \ --full-uri='projects/PROJECT_ID/locations/global/floorSetting'
特定の組織の Model Armor のフロア設定を表示します。
gcloud model-armor floorsettings describe \ --full-uri='organizations/ORGANIZATION_ID/locations/global/floorSetting'
特定のフォルダの Model Armor のフロア設定を表示します。
gcloud model-armor floorsettings describe \ --full-uri='folders/FOLDER_ID/locations/global/floorSetting'
次のように置き換えます。
PROJECT_ID
: フロア設定のプロジェクトの ID。FOLDER_ID
: フロア設定のフォルダの ID。ORGANIZATION_ID
: フロア設定の組織の ID。
特定のプロジェクトの Model Armor のフロア設定を表示します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting"
特定のフォルダの Model Armor のフロア設定を表示します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://modelarmor.googleapis.com/v1/folders/FOLDER_ID/locations/global/floorSetting"
特定の組織の Model Armor のフロア設定を表示します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://modelarmor.googleapis.com/v1/organizations/ORGANIZATION_ID/locations/global/floorSetting"
PROJECT_ID
: フロア設定のプロジェクトの ID。FOLDER_ID
: フロア設定のフォルダの ID。ORGANIZATION_ID
: フロア設定の組織の ID。特定のプロジェクトの Model Armor のフロア設定を表示します。
特定のフォルダの Model Armor のフロア設定を表示します。
特定の組織の Model Armor のフロア設定を表示します。
特定のプロジェクトの Model Armor のフロア設定を表示します。
特定のフォルダの Model Armor のフロア設定を表示します。
特定の組織の Model Armor のフロア設定を表示します。
特定のプロジェクトの Model Armor のフロア設定を表示します。
特定のフォルダの Model Armor のフロア設定を表示します。
特定の組織の Model Armor のフロア設定を表示します。
特定のプロジェクトの Model Armor のフロア設定を表示します。
特定のフォルダの Model Armor のフロア設定を表示します。
特定の組織の Model Armor のフロア設定を表示します。
特定のプロジェクトの Model Armor のフロア設定を表示します。
特定のフォルダの Model Armor のフロア設定を表示します。
特定の組織の Model Armor のフロア設定を表示します。
Google Cloud コンソールで、[Model Armor] ページに移動します。
Model Armor を有効にしたプロジェクトが表示されていることを確認します。
[Model Armor] ページで、[フロア設定] タブに移動し、[フロア設定を構成] をクリックします。
必須フィールドを更新して、[フロア設定を保存] をクリックします。
特定のプロジェクトの Model Armor のフロア設定を更新します。
curl -X PATCH -d '{"filterConfig" :{"piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED"}, "maliciousUriFilterSettings": { "filterEnforcement": "ENABLED" }, "rai_settings":{"rai_filters":{"filter_type":"DANGEROUS", "confidence_level":"LOW_AND_ABOVE" }, \ "rai_filters":{"filter_type":"HATE_SPEECH", "confidence_level":"LOW_AND_ABOVE" }, "rai_filters":{"filter_type":"HARASSMENT", "confidence_level":"LOW_AND_ABOVE" }, "rai_filters":{"filter_type":"SEXUALLY_EXPLICIT", "confidence_level":"LOW_AND_ABOVE" }}},"enableFloorSettingEnforcement":"true"}' -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token) "https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting"
特定のフォルダの Model Armor のフロア設定を表示します。
curl -X PATCH \ -d '{"filterConfig" :{"piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED"}, "maliciousUriFilterSettings": { "filterEnforcement": "ENABLED" }},"enableFloorSettingEnforcement":"true"}' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://modelarmor.googleapis.com/v1/folders/FOLDER_ID/locations/global/floorSetting"
特定の組織の Model Armor のフロア設定を更新します。
curl -X PATCH \ -d '{"filterConfig" :{"piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED"}, "maliciousUriFilterSettings": { "filterEnforcement": "ENABLED" }},"enableFloorSettingEnforcement":"true"}' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://modelarmor.googleapis.com/v1/organizations/ORGANIZATION_ID/locations/global/floorSetting"
次のように置き換えます。
PROJECT_ID
: フロア設定のプロジェクトの ID。FOLDER_ID
: フロア設定のフォルダの ID。ORGANIZATION_ID
: フロア設定の組織の ID。
更新コマンドは、次のレスポンスを返します。
{ "name": "projects/PROJECT_ID/locations/global/floorSetting", "updateTime": "2024-12-19T15:36:21.318191Z", "filterConfig": { "piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED" }, "maliciousUriFilterSettings": { "filterEnforcement": "ENABLED" } } }
特定のプロジェクトの Model Armor のフロア設定を更新します。
特定のフォルダの Model Armor のフロア設定を表示します。
特定の組織の Model Armor のフロア設定を更新します。
特定のプロジェクトの Model Armor のフロア設定を更新します。
特定のフォルダの Model Armor のフロア設定を表示します。
特定の組織の Model Armor のフロア設定を更新します。
特定のプロジェクトの Model Armor のフロア設定を更新します。
特定のフォルダの Model Armor のフロア設定を表示します。
特定の組織の Model Armor のフロア設定を更新します。
特定のプロジェクトの Model Armor のフロア設定を更新します。
特定のフォルダの Model Armor のフロア設定を表示します。
特定の組織の Model Armor のフロア設定を更新します。
特定のプロジェクトの Model Armor のフロア設定を更新します。
特定のフォルダの Model Armor のフロア設定を表示します。
特定の組織の Model Armor のフロア設定を更新します。
- Model Armor について確認する。
- Model Armor テンプレートについて確認する。
- プロンプトとレスポンスをサニタイズする。
- Model Armor に関する問題のトラブルシューティングを行う。
次のコマンドを実行して、Model Armor を有効にします。
gcloud services enable modelarmor.googleapis.com --project=PROJECT_ID
PROJECT_ID
は、プロジェクトの ID に置き換えます。
Vertex AI との統合
Model Armor は Vertex AI と統合され、定義されたフロア設定に基づいて Gemini モデルのリクエストとレスポンスをスクリーニングします。プロンプトとレスポンスを可視化するには、Cloud Logging を有効にする必要があります。詳細については、Vertex AI との Model Armor の統合をご覧ください。
フロア設定を構成する
フロア設定を使用して、Model Armor テンプレートの最小検出しきい値を構成します。これらの設定により、新規および変更済みのテンプレートがすべて特定の要件を満たしていることを確認します。フロア設定を構成する手順は次のとおりです。
フロア設定の継承方法を定義する
フロア設定を構成するときに、構成オプションを選択します。
フロア設定の適用先を定義する
構成したフロア設定が適用される次のいずれかのサービスを選択します。
Model Armor のフロア設定を表示する
Model Armor のフロア設定を表示して、既存の設定の確認、AI アプリケーションの最小要件の特定、テンプレートが想定どおりに動作しない場合の問題のトラブルシューティングを行います。
次のコマンドを実行して、Model Armor のフロア設定を表示します。
コンソール
gcloud
REST
次のように置き換えます。
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 のフロア設定を更新します。
コンソール
gcloud
gcloud model-armor floorsettings update --full-uri=<full-uri-of-the-floorsetting>
コマンドの例:
gcloud model-armor floorsettings update \
--malicious-uri-filter-settings-enforcement=ENABLED \
--pi-and-jailbreak-filter-settings-enforcement=DISABLED \
--pi-and-jailbreak-filter-settings-confidence-level=LOW_AND_ABOVE \
--basic-config-filter-enforcement=ENABLED \
--add-rai-settings-filters='[{"confidenceLevel": "low_and_above", "filterType": "HARASSMENT"}, {"confidenceLevel": "high", "filterType": "SEXUALLY_EXPLICIT"}]'
--full-uri='folders/FOLDER_ID/locations/global/floorSetting' \
--enable-floor-setting-enforcement=true
FOLDER_ID
は、フロア設定のフォルダの ID に置き換えます。
REST
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 テンプレートがリソース階層のフロア設定で定義された最小セキュリティ基準を満たしていない場合に違反が発生します。フロア設定では、テンプレートの最小要件を定義します。フロア設定の違反には、必須フィルタがテンプレートにないか、またはそれらのフィルタの最小信頼レベルを満たしていないことが含まれる場合があります。違反が検出されると、Security Command Center に重大度の高い検出結果が生成されます。この検出結果は、違反したフロア設定、非準拠のテンプレート、違反の詳細が示します。
次の例は、検出結果の sourceProperties
フィールドを示しています。悪意のある URI フィルタに関連するこの違反は、maliciousUriFilterSettings
のテンプレート設定が DISABLED
であるのに対し、フロア設定では ENABLED
にする必要があるために発生しました。
{ "filterConfig": { "raiSettings": { "raiFilters": [ { "filterType": "HATE_SPEECH", "confidenceLevel": { "floorSettings": "LOW_AND_ABOVE", "template": "MEDIUM_AND_ABOVE" } }, { "filterType": "HARASSMENT", "confidenceLevel": { "floorSettings": "MEDIUM_AND_ABOVE", "template": "HIGH" } } ] }, "piAndJailbreakFilterSettings": { "confidenceLevel": { "floorSettings": "LOW_AND_ABOVE", "template": "HIGH" } }, "maliciousUriFilterSettings": { "floorSettings": "ENABLED", "template": "DISABLED" } } }
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-09-04 UTC。