Firebase App Check を実装して、不正なクライアントから Gemini API を保護する

モバイルアプリとウェブアプリの場合は、Gemini API とプロジェクト リソース(チューニング済みモデルなど)を、不正なクライアントによる不正使用から保護する必要があります。Firebase App Check を使用して、すべての API 呼び出しが実際のアプリからのものであることを確認できます。

Gemini API App Check を使用した不正使用防止は、Vertex AI in Firebase SDK を使用している場合にのみ使用できます。

Vertex AI Gemini API を呼び出すすべてのバージョンのアプリが不正使用から保護されるように、開発中も含め、できるだけ早い段階でアプリに Firebase App Check を実装することを強くおすすめします。

App Check を使用すると、アプリを実行しているデバイスでアプリまたはデバイスの証明書プロバイダを使用して、次のいずれか、または両方であることを検証できます。

  • 正規のアプリから送信されたリクエストであること
  • 正規の未改造のデバイスから送信されたリクエストであること

この証明書は、アプリが Vertex AI Gemini API を使用して送信するすべてのリクエストに添付されます。App Check の適用を有効にすると、承認していないアプリまたはプラットフォームからのリクエストと同様に、有効な証明書がないクライアントからのリクエストは拒否されます。

利用可能なプロバイダと実装手順

App Check には、証明書プロバイダとして次のサービスを使用するためのサポートが組み込まれています。プロバイダのリンクをクリックすると、そのプロバイダの App Check ドキュメント(説明や実装手順など)が表示されます。

これらのプロバイダがニーズを満たさない場合は、サードパーティの証明書プロバイダまたは独自の証明手法を使用する独自のサービスを実装することもできます(詳細については、App Check のドキュメントをご覧ください)。

App Check に関する補足情報

App CheckGemini API を保護する仕組み

Vertex AI in Firebase SDK を使用するには、Firebase プロジェクトで Vertex AI in Firebase API(firebasevertexai.googleapis.comを有効にする必要があります。これは、Vertex AI in Firebase SDK によって行われたリクエストが、まず Vertex AI in Firebase サーバーに送信されるためです。このサーバーはプロキシ ゲートウェイとして機能し、リクエストが Vertex AI バックエンドと Gemini API に転送される前に Firebase App Check の検証が行われます。

Vertex AI in Firebase API 自体は App Check の検証を行いません。代わりに、Vertex AI in Firebase SDK はアプリからのリクエストを Vertex AI in Firebase ゲートウェイ経由で自動的に転送します。