本文档介绍了如何查看和更新 Model Armor 下限设置,并提供了一个下限设置违规示例。
楼层设置主要有以下两种用途:
模板一致性:确保新模板的限制至少与下限设置中定义的限制一样严格。模板合规性是在组织和文件夹级层定义的。
内嵌式强制执行:将 Model Armor 保护措施应用于 Gemini 模型和 Google Cloud MCP 服务器。内嵌强制执行在项目级层配置。如果您使用下限设置进行内嵌强制执行,则您在项目中创建的任何模板都必须符合这些下限设置。
准备工作
在开始之前,请完成以下任务。
获取所需的权限
如需获得管理 Model Armor 下限设置所需的权限,请让您的管理员为您授予 Model Armor 下限设置的 Model Armor Floor Setting Admin (roles/modelarmor.floorSettingsAdmin) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
启用 API
您必须先启用 Model Armor API,然后才能使用 Model Armor。
控制台
gcloud
在开始之前,请使用 Google Cloud CLI 和 Model Armor API 按照以下步骤操作:
在 Google Cloud 控制台中,激活 Cloud Shell。
Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。
使用 gcloud CLI 设置 API 端点替换项
仅当您使用 gcloud CLI 启用 Model Armor API 时,才需要执行此步骤。您必须手动设置 API 端点替换,以确保 gcloud CLI 正确地将请求路由到 Model Armor 服务。
运行以下命令以使用全球 API 端点:
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.googleapis.com/"
下限设置应用
系统始终会应用本地设置。例如,如果下限设置冲突,则资源层次结构中较低级别的设置优先。 同样,项目级下限设置会覆盖冲突的文件夹级下限设置。
下表列出了如何在不同层级应用下限设置:
| 下限设置级别 | 应用 |
|---|---|
| 组织级层 | 适用于组织内的所有内容。 |
| 文件夹级 | 适用于相应特定文件夹中的所有项目。 |
| 项目级 | 仅适用于该特定项目。 |
为了说明在不同级别设置下限设置时,系统如何应用这些设置,请考虑以下示例场景。例如,假设您将下限设置如下:
- 文件夹级(不太具体)下限设置:此文件夹中的所有内容都必须启用恶意 URI 过滤条件。
- 项目级(更具体)下限设置:文件夹中的项目必须使用中等置信度的提示注入和越狱检测。
在此场景中,这些设置会产生以下结果:
您在项目中创建的任何模板都必须包含提示注入和越狱检测过滤条件,因为项目级设置始终优先于文件夹级设置。
在其他项目或文件夹中创建的模板不受第一个文件夹中的恶意 URI 过滤条件规则的影响。
除非在组织级别设置,否则下限设置仅适用于层次结构中的特定级别;如果在组织级别设置,则适用于整个组织。
模板和下限设置一致性
创建或更新 Model Armor 模板时,Model Armor 会检查模板的配置是否符合下限设置。您无法创建或更新比下限设置宽松的模板。
您可以在组织、文件夹和项目级层设置下限设置。该界面仅在项目级提供,可让您继承组织级或文件夹级设置。如需在组织或文件夹级设置下限设置,您必须使用 API。
模板一致性用于验证模板配置。数据检查使用符合规范的模板中定义的配置,在运行时分析提示或回答。下表介绍了模板一致性和数据检查如何应用于模板和下限设置。
| 检查 | 下限设置 | 模板 |
|---|---|---|
| 模板一致性 | 在组织、文件夹或项目级配置。 注意:您可以设置 Sensitive Data Protection,以强制在模板上执行数据安全政策。不过,它不会验证模板是否符合规范。 |
只能在项目级层配置。 |
| 数据检查 | 仅在项目级层使用检查和屏蔽模式强制执行。 | 通过 REST API、Service Extensions、Gemini Enterprise 和代理运行时强制执行。 |
与 Gemini Enterprise 智能体平台和 Google Cloud MCP 服务器集成
Model Armor 与代理平台和 Google Cloud MCP 服务器相集成,可根据您定义的下限设置来过滤 Gemini 模型和Google Cloud 远程 MCP 服务器的请求和回答。您必须启用 Cloud Logging 才能查看提示和回答。 如需了解详情,请参阅将 Model Armor 与 Gemini Enterprise Agent Platform 集成和将 Model Armor 与 Google Cloud MCP 服务器集成
配置下限设置
配置下限设置,以定义 Model Armor 模板的最低检测阈值。这些设置用于确保所有新模板和修改后的模板都符合特定要求。
如需配置下限设置,请执行以下操作:
- 在 Google Cloud 控制台中,前往 Model Armor 页面。
- 选择一个项目。
- 在 Model Armor 页面上,前往下限设置标签页,然后点击配置下限设置。
- 在配置下限设置页面上,选择配置选项。
- 在检测部分,配置检测设置。
- 可选:如果您选择 Sensitive Data Protection 检测,请配置 Sensitive Data Protection 设置。
在 Responsible AI 部分,为每个内容过滤条件设置置信度。
在服务部分,选择应用这些下限设置的服务。
在日志部分,选择启用 Cloud Logging 以记录所有用户提示、模型回答和下限设置检测器结果。
选择启用多语言支持,以使用多语言检测设置。
点击保存下限设置。
楼层设置更改需要几分钟才能生效。
定义下限设置的继承方式
配置下限设置时,请选择配置选项。
继承父级的下限设置:继承资源层次结构中更早设置的下限设置。点击保存下限设置,然后跳过其余步骤。如需查看继承的设置,请前往下限设置标签页。
自定义:为此项目定义下限设置。您为项目定义的自定义设置会覆盖所有继承的下限设置。
停用:停用所有继承的下限设置。这意味着不会将任何检测规则应用于 Model Armor 模板以及您的 Gemini 工作负载所用的 Agent Platform。点击保存下限设置,然后跳过其余步骤。在下限设置标签页中查看停用状态。
定义下限设置的应用范围
选择已应用配置的下限设置的以下服务之一。
Model Armor - 模板创建和更新:Model Armor 会检查项目中的每个新 Model Armor 模板和修改后的 Model Armor 模板,确保最低设置与下限设置保持一致。
Google MCP 服务器:检查发送到 Google 或 Google Cloud 远程 MCP 服务器或从这些服务器发送的请求是否符合下限设置阈值。如需了解详情,请参阅将 Model Armor 与 Google Cloud MCP 服务器集成(预览版)。
代理平台:过滤发送给 Gemini 模型的请求,然后记录或屏蔽符合下限设置阈值的请求。
如果您选择 Agent Platform,系统会显示 Agent Platform 部分,您可以在其中选择如何强制执行下限设置。
- 仅检查:检测不符合下限设置的请求,但不屏蔽这些请求。
- 检查并屏蔽违规请求:检测并屏蔽不符合下限设置的请求。
查看 Model Armor 下限设置
您可以查看 Model Armor 下限设置,以验证现有设置、确定 AI 应用的最低要求,或在模板未按预期运行时排查问题。
运行以下命令以查看 Model Armor 下限设置。
控制台
在 Google Cloud 控制台中,前往 Model Armor 页面。
确认您正在查看的是已启用 Model Armor 的项目。
在 Model Armor 页面上,前往下限设置标签页。如果在组织级设置了下限设置,则可以查看这些设置。如果未定义任何下限设置,则必须先进行配置。如需了解详情,请参阅配置下限设置。
gcloud
查看项目的 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'
替换以下内容:
- 下限设置所对应的项目的 ID。
- 下限设置所对应的文件夹的 ID。
- 下限设置所对应的组织的 ID。
REST
查看项目的 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"
替换以下内容:
- 下限设置所对应的项目的 ID。
- 下限设置所对应的文件夹的 ID。
- 下限设置所对应的组织的 ID。
C#
如需运行此代码,请先设置 C# 开发环境并安装 Model Armor C# SDK。
查看指定项目的 Model Armor 下限设置。
查看指定文件夹的 Model Armor 下限设置。
查看指定组织的 Model Armor 下限设置。
Go
如需运行此代码,请先设置 Go 开发环境并安装 Model Armor Go SDK。
查看指定项目的 Model Armor 下限设置。
查看指定文件夹的 Model Armor 下限设置。
查看指定组织的 Model Armor 下限设置。
Java
如需运行此代码,请先设置 Java 开发环境并安装 Model Armor Java SDK。
查看指定项目的 Model Armor 下限设置。
查看指定文件夹的 Model Armor 下限设置。
查看指定组织的 Model Armor 下限设置。
Node.js
如需运行此代码,请先设置 Node.js 开发环境并安装 Model Armor Node.js SDK。
查看指定项目的 Model Armor 下限设置。
查看指定文件夹的 Model Armor 下限设置。
查看指定组织的 Model Armor 下限设置。
PHP
如需运行此代码,请先设置 PHP 开发环境并安装 Model Armor PHP SDK。
查看指定项目的 Model Armor 下限设置。
查看指定文件夹的 Model Armor 下限设置。
查看指定组织的 Model Armor 下限设置。
Python
如需运行此代码,请先设置 Python 开发环境并安装 Model Armor Python SDK。
查看指定项目的 Model Armor 下限设置。
查看指定文件夹的 Model Armor 下限设置。
查看指定组织的 Model Armor 下限设置。
更新 Model Armor 下限设置
更新 Model Armor 下限设置,以更改模板的最低要求、反映安全政策的变化、修正错误配置或解决下限设置之间的冲突。
运行以下命令以更新 Model Armor 下限设置。
控制台
在 Google Cloud 控制台中,前往 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
如需配置启用了多语言检测的下限设置,请运行以下命令:
gcloud model-armor floorsettings update \
--full-uri=projects/PROJECT_ID/locations/global/floorSetting \
--enable-multi-language-detection
替换以下内容:
PROJECT_ID:下限设置所对应的项目的 ID。FOLDER_ID:下限设置所对应的文件夹的 ID。
REST
更新给定项目的 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" } } }
C#
如需运行此代码,请先设置 C# 开发环境并安装 Model Armor C# SDK。
更新给定项目的 Model Armor 下限设置。
更新给定文件夹的 Model Armor 下限设置。
更新给定组织的 Model Armor 下限设置。
Go
如需运行此代码,请先设置 Go 开发环境并安装 Model Armor Go SDK。
更新给定项目的 Model Armor 下限设置。
更新给定文件夹的 Model Armor 下限设置。
更新给定组织的 Model Armor 下限设置。
Java
如需运行此代码,请先设置 Java 开发环境并安装 Model Armor Java SDK。
更新给定项目的 Model Armor 下限设置。
更新给定文件夹的 Model Armor 下限设置。
更新给定组织的 Model Armor 下限设置。
Node.js
如需运行此代码,请先设置 Node.js 开发环境并安装 Model Armor Node.js SDK。
更新给定项目的 Model Armor 下限设置。
更新给定文件夹的 Model Armor 下限设置。
更新给定组织的 Model Armor 下限设置。
PHP
如需运行此代码,请先设置 PHP 开发环境并安装 Model Armor PHP SDK。
更新给定项目的 Model Armor 下限设置。
更新给定文件夹的 Model Armor 下限设置。
更新给定组织的 Model Armor 下限设置。
Python
如需运行此代码,请先设置 Python 开发环境并安装 Model Armor Python SDK。
更新给定项目的 Model Armor 下限设置。
更新给定文件夹的 Model Armor 下限设置。
更新给定组织的 Model Armor 下限设置。
查看有关违反下限设置的发现结果
每项 Model Armor 发现结果都会识别一次违反下限设置的情况。当 Model Armor 模板未达到资源层次结构下限设置定义的最低安全标准时,就会发生违规。下限设置用于定义模板的最低要求。
当出现以下任一下限设置违规情况时,系统会生成发现结果:
- 在配置下限设置之前,系统会创建一个设置限制较宽松的模板。
- 模板缺少必需的过滤条件。
- 模板未达到过滤条件所要求的最低置信度级别。
当系统检测到违规行为时,会在 Security Command Center 中生成高严重性发现结果(如果您使用的是 Security Command Center 的高级或企业服务层级)。该发现结果会指明所违反的下限设置、不合规的模板以及违规详情。
以下示例展示了发现结果的 sourceProperties 字段。此违规行为与恶意 URI 过滤条件相关,发生的原因是 maliciousUriFilterSettings 的模板设置处于已停用状态,但下限设置要求其处于已启用状态。
{ "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" } } }
后续步骤
- 详细了解 Model Armor。
- 了解 Model Armor 模板。
- 对提示和响应进行安全处理。
- 排查 Model Armor 问题。