Firebase AI Logic を使用するための本番環境チェックリスト

アプリをリリースして、実際のエンドユーザーがアプリの AI 機能を利用できるようにする準備が整ったら、ベスト プラクティスと重要な考慮事項のチェックリストを確認してください。

全般

一般的なリリース チェックリストを確認する

Firebase アプリを本番環境にリリースする前に、Firebase リリース チェックリストで重要なベスト プラクティスを確認してください。

Firebase プロジェクトのベスト プラクティスに沿って対応する

開発、テスト、本番の環境にそれぞれ異なる Firebase プロジェクトを使用します。プロジェクトの管理に関するベスト プラクティスを確認する。

アクセスとセキュリティ

セキュリティ チェックリストを確認する

アクセスとセキュリティに関する重要なベスト プラクティスについては、Firebase セキュリティ チェックリストと、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)、ウェブ(reCAPTCHA Enterprise)のアテステーション プロバイダをサポートしています。Flutter アプリと Unity アプリでも、これらのプロバイダをすべてサポートしています。

また、リプレイ保護を適用することも検討してください。これにより、トークンは 1 回限りの使用となります。このオプションでは、ベースライン保護を超える保護強化機能が提供され、アプリとユースケースに適した保護レベルを設定できます。

Firebase API キーの制限を設定する

Firebase API キーは、リクエストを行う際に Firebase プロジェクトとアプリを識別します。API キーの不正使用を防ぐには:

  • Google Cloud コンソールでアプリケーションの制限を設定して、アプリの特定のバンドル ID(Apple)、パッケージ名と SHA-1 フィンガープリント(Android)、または HTTP リファラー(ウェブ)からのリクエストのみにキーの使用を制限します。

  • 各キーの「API の制限」の許可リストを確認します。

    • Firebase AI Logic API(firebasevertexai.googleapis.com)が許可リストに含まれていることを確認します。
    • 許可リストに登録されている他の API が、アプリに必要な特定の Firebase サービスのみであることを確認します。制限付き Firebase キーに必要な API のリストをご覧ください。

Firebase 関連の API は、Firebase プロジェクトまたはアプリの識別にのみ API キーを使用します。API の呼び出しの認証には使用しません。

認証済みユーザーのみにリクエストを制限する

認証済みユーザーモードを適用して、Firebase AI Logic 経由のすべてのリクエストに Firebase Authentication の有効な認証情報が含まれるようにすることを検討してください。認証されていないエンドユーザーからリクエストが送信されると、リクエストは 401: unauthenticated エラーで拒否されます。

モニタリング、上限、課金

Firebase コンソールで AI モニタリングを設定する

Firebase コンソールで AI モニタリングを設定して、リクエスト数、レイテンシ、トークン使用量、エラー率などの主要なパフォーマンス指標を可視化します。Google Cloud コンソールで個々のトレースを調べることもできます。

レート制限を設定して割り当てを管理する

予期しない使用量の急増とウォレット拒否攻撃からプロジェクトを保護します。

アラートと単価の上限設定で想定外の請求を回避

Firebase プロジェクトが従量課金制の Blaze のお支払いプランに登録されている場合:

構成の管理

本番環境アプリで安定版のモデル バージョンを使用する

本番環境のアプリでは、安定版のモデル バージョン(gemini-3.8-flash など)のみを使用します。プレビュー版、試験運用版、-latest エイリアスは使用しないでください。

Firebase Remote Config またはサーバー プロンプト テンプレートを使用する

Remote Config またはサーバー プロンプト テンプレートを使用すると、コードに値をハードコードするのではなく、クラウド(サーバーサイド)でアプリの AI 機能の重要な構成を制御できます。つまり、アプリの新しいバージョンをリリースすることなく、構成を更新できます。

  • (強く推奨)新しいモデルがリリースされたり、他のモデルが廃止されたりしたときに、AI 機能に使用されるモデル名をオンデマンドで変更します。Remote Config またはサーバー プロンプト テンプレートの使用方法の詳細を確認する。

  • (省略可) AI 機能の他のパラメータ(最大出力トークンなどのモデル構成、安全に関する設定、システム指示、プロンプト データなど)を動的に、さらには条件付きで制御します。Remote Config またはサーバー プロンプト テンプレートの使用方法の詳細を確認する。

  • (省略可) Remote Config で minimum_version パラメータを設定して、アプリの現在のバージョンと Remote Config で定義された最新バージョンを比較し、ユーザーにアップグレード通知を表示するか、ユーザーにアップグレードを強制します。

モデルにアクセスするロケーションを設定する

API プロバイダとして Agent Platform Gemini API (formerly Vertex AI) を使用している場合にのみ使用できます。

モデルにアクセスするロケーションを設定して、割り当てを最適化し、ユーザーのレイテンシを防止します。

ロケーションを指定しない場合、デフォルトは global です(新しい「Agent Platform」初期化構文を使用する場合)。このロケーションは初期化時に設定できます。また、必要に応じて、Firebase Remote Config を使用して、各ユーザーのロケーションに基づいてロケーションを動的に変更することもできます。