Firebase プロジェクトに認証済みユーザーモード を適用できます。適用した場合、Firebase AI Logic を介した Gemini API リクエストはすべて、アプリの 認証済みユーザーからのリクエストである必要があります。具体的には、アプリから Firebase AI Logic にリクエストを送信する前に、アプリのエンドユーザーが Firebase Authentication を使用して認証されている必要があります。エンドユーザーが 認証されていない場合、リクエストはブロックされます。
リクエストがブロックされると、レスポンスは 401: unauthenticated エラーになります。
重要な考慮事項
認証済みユーザーモードに関する次の重要な考慮事項に注意してください。
認証済みユーザーモードが適用されている場合
認証済みユーザーモードが適用されている場合は、次の点に注意してください。
この設定は、プロジェクト全体 の Firebase AI Logic の設定です。
- プロジェクトに登録されているすべてのアプリに適用されます。
- 適用されているプロジェクトにのみ適用されます。
この設定は、ブロック を介したすべてのリクエストをFirebase AI Logic 送信しないない Firebase Authentication 認証情報。
- ユーザーが Firebase Authentication で リクエストを送信する 前に、Firebase AI Logic に認証されている必要があります。
- この設定は、すべてのリクエストに適用されます。Firebase AI Logic を介して、 Gemini Developer API と Vertex AI Gemini API の両方に対してです。
- この設定は、サーバー プロンプト テンプレートを使用するすべてのリクエストに適用されます。
- この設定は、ユーザーごと、API ごと、またはテンプレートごとに適用することはできません。
この設定は、プロジェクト内の Gemini API リクエストをブロックしません。 Firebase AI Logic を介さない
-
- ユーザーが認証されていない場合、この設定はクラウド ホスト型モデルへのリクエストをブロック します。
- この設定は、ユーザーの認証状態に関係なく、オンデバイス モデルへのリクエストをブロック しません。
Gemini Live API を使用している場合:
- この設定は、認証済みユーザーであっても、 を使用する場合、ウェブアプリの Gemini Live API の使用をブロック します。Firebase AI Logicこれには、Firebase JS SDK を使用するウェブアプリや Flutter ウェブアプリが含まれます。
Firebase AI Logic REST API を使用している場合:
- この設定は、認証情報を送信しない推論リクエストをブロックします。
Firebase Authenticationこれには、
templateGenerateContentやtemplateStreamGenerateContentなどのサーバー プロンプト テンプレートのリクエストが含まれます。 - この設定は、IAM によって保護されているため、コントロール プレーン リクエスト(テンプレートと構成の管理など)をブロック しません。
- この設定は、認証情報を送信しない推論リクエストをブロックします。
Firebase Authenticationこれには、
この設定は、
countTokens(Count Tokens API)へのリクエストをブロック しません。
認証済みユーザーモードを適用する前に
認証済みユーザーモードを適用する前に、次の点に注意してください。
Firebase Authentication を使用しないアプリの既存バージョンがある場合:Firebase Authentication
- この設定は、ブロック リクエストを Firebase AI Logic から それらの既存のアプリ バージョンから行います。
- 認証済みユーザーモードを適用する前に、すべてのアクティブなクライアントが Firebase Authenticationを使用するように更新されていることを確認してください。
古いバージョンの Flutter プラグインでは、 特別なインスタンス化が必要です。リクエストとともにFirebase Authentication 認証情報を送信するためです。
- アプリで Flutter プラグイン
firebase_aiv3.11.0 以下(BoM v4.12.0 以下)を使用しており、インスタンス化時に Authentication を渡さない場合、この設定は Firebase AI Logic を介したリクエストを ブロック します。 認証済みユーザーでも同様です。 - 認証済みユーザーモードを適用する前に、Flutter のすべてのアクティブなクライアントが新しいバージョンのプラグインに更新されていることを確認してください。
- アプリで Flutter プラグイン
Firebase Authentication を設定する
Firebase Authentication のドキュメントでは、パスワード、電話番号、一般的なフェデレーション ID プロバイダ(Google、Facebook、GitHub など)の使用など、サポートされている認証プロバイダの説明と 実装手順について説明しています。
アプリに Firebase Authentication を実装すると、アプリは認証済みユーザーの Firebase Authentication 認証情報を Firebase AI Logic へのリクエストごとに自動的に送信します。
一部の認証プロバイダについては、次の点に注意してください。
カスタム認証: へのリクエストとともに送信する署名付き認証トークンを取得する必要があります。Firebase AI Logic詳細については、 カスタム認証をご覧ください。
匿名 または メールアドレス/パスワード 認証方法: これらのユーザーは 認証済みユーザーと見なされるため、Firebase AI Logic へのリクエストはブロックされ ません。
匿名認証とメールアドレス/パスワード認証では、ユーザーがアプリにアクセスして Firebase Authentication認証情報を作成する必要がありますが、デフォルトではユーザーの本人確認が不要なため、堅牢な認証形式ではありません(特に有料リソースの保護の場合)。アプリでこれらの認証方法のデフォルト実装を使用している場合、認証済みユーザーモードを適用しても保護が不十分になる可能性があります。Firebase App Check も適用されていることを確認してください。Firebase App Check
認証済みユーザーモードの設定を管理する
認証済みユーザーモードの設定は、Firebase コンソールで管理します。
必要な IAM 権限とロール
認証済みユーザーモードの設定を管理するには、firebasevertexai.configs.update 権限が必要です。この権限は、オーナー、編集者、Firebase
管理者、Firebase AI Logic 管理者の IAM ロールにデフォルトで含まれています。
認証済みユーザーモードの適用
Firebase プロジェクトに認証済みユーザーモードを適用する手順は次のとおりです。
まだ確認していない場合は、このガイドの前半で説明した 認証済みユーザーモードに関する 重要な考慮事項を確認してください。
まだ設定していない場合は、アプリで Firebase Authentication を設定します (このガイドの前半で説明したように)。
認証済みユーザーモードを適用します。
Firebase コンソールで、[AI サービス] > [AI Logic] > [設定] タブに移動します。
[認証済みユーザーモード] で、 [認証済みユーザーモードを適用する] の切り替えボタンを [適用] にスライドします。
確認ダイアログを確認し、[確認] をクリックします。
認証済みユーザーモードの適用を停止する
認証済みユーザーモードの適用を停止する場合は、次の点に注意してください。
- Firebase AI Logic を介したリクエストで、認証情報を送信しないものが許可されます。Firebase Authentication
- これは、プロジェクト全体 の Firebase AI Logic の設定です。
Firebase プロジェクトの認証済みユーザーモードの適用を停止する手順は次のとおりです。
Firebase コンソールで、[AI サービス] > [AI Logic] > [設定] タブに移動します。
[**認証済みユーザーモード**] で、 [**認証済みユーザーモードを適用する**] をオフにします。
確認ダイアログを確認し、[確認] をクリックします。