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 アプリのすべてのプロバイダもサポートしています。

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

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 Configminimum_version パラメータを設定して、アプリの現在のバージョンと Remote Config で定義された最新バージョンを比較し、ユーザーにアップグレード通知を表示するか、ユーザーにアップグレードを強制します。

モデルにアクセスする場所を設定する

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

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

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