モバイルアプリとウェブアプリの場合は、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 ドキュメント(説明や実装手順など)が表示されます。
- Apple プラットフォーム: DeviceCheck または App Attest
- Android: Play Integrity
- ウェブ: reCAPTCHA Enterprise
これらのプロバイダがニーズを満たさない場合は、サードパーティの証明書プロバイダまたは独自の証明手法を使用する独自のサービスを実装することもできます(詳細については、App Check のドキュメントをご覧ください)。
App Check に関する補足情報
App Check の割り当てと上限について学習する。
アプリを実際のユーザーにリリースする前に、App Check の適用を有効にしてください。
App Check が Gemini 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 ゲートウェイ経由で自動的に転送します。