Firebase App Check を実装して、未承認のクライアントから Gemini API を保護する


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

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

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

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

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

利用可能なプロバイダ

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

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

App Check に関するその他の情報

App Check が Gemini API を保護する仕組みを理解する

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

Vertex AI Gemini API(aiplatform.googleapis.com)自体は App Check の検証を行いません。代わりに、Vertex AI for Firebase SDK はアプリからのリクエストを自動的に Firebase ML ゲートウェイ経由でルーティングします。