使用 Firebase AI Logic 的安全核对清单

当您直接从移动应用和 Web 应用调用 Gemini API 时,保护后端基础设施、配额和专有提示需要采用多层纵深防御方法。查看此核对清单,为 Firebase AI Logic 实施推荐的安全最佳实践。

应用、设备和用户验证

验证传入请求是否来自在正版设备上运行的合法、未经篡改的应用实例,以及是否来自真实用户。

强制执行 Firebase App Check

强制执行 Firebase App Check,以帮助保护 Gemini API 在直接从您的应用调用时免遭滥用。强制执行 App Check 后,它会验证传入请求是否来自您的正版应用和/或未经篡改的设备。

App Check 支持适用于 Apple 平台(DeviceCheck、App Attest 或 reCAPTCHA Enterprise)、Android(Play Integrity 或 reCAPTCHA Enterprise)和 Web (reCAPTCHA Enterprise) 的认证提供方。它还支持适用于 Flutter 和 Unity 应用的所有这些提供方。

从 2026 年 7 月初开始,在 Firebase 控制台中的引导式设置期间,Firebase 会自动为 Firebase AI Logic 强制执行 App Check。如果您之前设置了 Firebase AI Logic,请务必明确强制执行 App Check。对于本地开发,您可以设置 App Check 调试提供程序,然后在向最终用户发布之前,向生产证明提供程序注册您的应用。

使用限制用途的令牌启用重放攻击防范

在设置 App Check 的过程中,请考虑强制执行重放攻击防范,以便 App Check 令牌只能使用一次。此选项提供比基准保护更强的保护,并允许您为应用和用例设置适当的保护级别。

为 Firebase API 密钥设置限制

Firebase API 密钥用于在发出请求时标识您的 Firebase 项目和应用。 为防止您的 API 密钥被盗用,请执行以下操作:

  • 在 Google Cloud 控制台中设置“应用限制”,将密钥的使用范围限制为仅限来自应用的特定软件包 ID (Apple)、软件包名称和 SHA-1 指纹 (Android) 或 HTTP 引荐来源网址(Web)的请求。

  • 查看每个密钥的“API 限制”许可清单:

    • 确保 Firebase AI Logic API (firebasevertexai.googleapis.com) 在许可清单中。
    • 确保许可名单中唯一的其他 API 是您的应用所需的特定 Firebase 服务。请参阅受限 Firebase 密钥所需的 API 列表。

请注意,Firebase 相关 API 仅使用 API 密钥来标识 Firebase 项目或应用,不用于授权调用 API。

仅允许经过身份验证的用户发出请求

考虑强制执行“已通过身份验证的用户”模式,以便通过 Firebase AI Logic 发出的所有请求都必须包含来自 Firebase Authentication 的有效凭据。如果请求来自未经身份验证的最终用户,则请求会被拒绝并显示 401: unauthenticated 错误。

提示保护和请求强化

防止客户端反编译暴露您的提示设计,并锁定后端,使恶意用户无法执行任意提示。

使用服务器端提示词模板

使用服务器提示模板将提示、系统指令和模型配置安全地存储在云端,而不是将其硬编码到客户端应用代码中,因为这些代码可能会通过二进制反编译被提取出来。

您的应用只需引用模板 ID 并传递动态输入变量。 借助服务器提示模板,您还可以根据需要更新提示或切换模型,而无需发布应用的新版本。

验证和清理客户端提供的模板变量

服务器提示模板可保护您的提示设计,但接受动态变量的模板仍可能容易受到提示词注入攻击。由于模板会将用户输入变量串联到最终提示中,因此请务必执行以下操作:

  • 在将变量传递给模板之前,先在客户端上验证并清理所有用户输入(例如强制执行字符数限制和预期格式)。
  • 在模板中添加明确的系统指令,为用户输入的处理方式定义护栏。

强制执行“仅模板”模式

当所有应用功能都使用服务器提示模板后,请考虑强制执行仅限模板模式。强制执行后,Firebase AI Logic 会阻止对 Gemini API (403: unauthorized) 的所有直接、非模板化请求,从而防止恶意方发送任意提示或滥用您的配额。

监控、限制和结算

深入了解传入流量和安全异常,并保护您的项目免受意外使用量激增或费用失控的影响。

在 Firebase 控制台中设置 AI 监控

在 Firebase 控制台中设置 AI 监控,以了解请求数、延迟时间、词元使用情况和错误率(包括 401 身份验证失败和 403 仅限模板的屏蔽)等关键指标。您还可以在 Google Cloud 控制台中检查各个跟踪记录。

设置速率限制和管理配额

保护您的项目免受意外用量激增和钱包拒绝攻击:

通过提醒和支出上限避免出现意外费用

如果您的 Firebase 项目采用的是随用随付 Blaze 定价方案:

后续步骤