Firebase 앱 체크를 구현하여 승인되지 않은 클라이언트로부터 API 보호

모바일 또는 웹 앱에서 직접 API를 호출하면 (예: 생성형 AI 모델에 액세스할 수 있는 API) API가 승인되지 않은 클라이언트의 악용에 취약해집니다. 이러한 API를 보호하려면 Firebase App Check를 사용하여 수신되는 모든 API 호출이 실제 앱에서 발생하는지 확인할 수 있습니다.

Firebase AI LogicFirebase App Check와 통합하고 모바일 및 웹 앱에서 호출하는 생성형 AI 모델 API를 보호할 수 있는 프록시 게이트웨이를 제공합니다. App Check와 통합은 Gemini Developer APIVertex AI Gemini API 모두에서 지원됩니다. Firebase AI Logic SDK를 사용하는 경우 GeminiImagen 모델을 모두 보호할 수 있습니다.

App Check 작동 방식에 관한 개요

App Check를 사용하면 앱을 실행하는 기기는 다음 중 하나 또는 둘 모두를 확인하는 앱 또는 기기 증명 제공자를 사용합니다.

  • 요청이 인증된 앱에서 발생함
  • 요청이 변조되지 않은 인증된 기기에서 발생함

이 증명은 앱이 Firebase AI Logic SDK를 사용하여 실행하는 모든 요청에 연결됩니다. App Check 적용을 사용 설정하면 유효한 증명이 없는 클라이언트의 요청이 거부되며 승인하지 않은 앱이나 플랫폼에서 발생한 요청도 거부됩니다.

자세한 내용은 Firebase App Check 문서를 참고하세요.

사용 가능한 제공업체 및 구현 안내

App Check에는 다음 서비스를 증명 제공자로 사용하기 위한 지원 기능이 내장되어 있습니다. 제공업체 링크를 클릭하여 설명 및 구현 안내를 포함하여 해당 제공업체의 App Check 문서를 확인합니다.

이러한 제공업체가 요구사항을 충족하지 못하는 경우 서드 파티 증명 제공업체 또는 자체 증명 기법을 사용하는 자체 서비스를 구현할 수도 있습니다(자세한 내용은 App Check 문서 참고).

Flutter에 필요한 특수 인스턴스화

Gemini API 제공업체를 클릭하여 이 페이지에서 제공업체별 콘텐츠와 코드를 확인합니다.

Flutter 앱에서 Firebase AI Logic와 함께 App Check를 사용할 때는 다음과 같이 인스턴스화 중에 App Check를 명시적으로 전달해야 합니다.

final ai = await FirebaseAI.googleAI(appCheck: FirebaseAppCheck.instance)
  .generativeModel(model: 'MODEL_NAME');

App Check에 대한 추가 정보

Firebase AI LogicApp Check와 통합되는 방식 이해

Firebase AI Logic SDK를 사용하려면 Firebase 프로젝트에서 Firebase AI Logic API (firebasevertexai.googleapis.com)를 사용 설정해야 합니다. 이는 Firebase AI Logic SDK에서 실행한 요청이 먼저 Firebase AI Logic 서버로 전송되기 때문입니다. Firebase AI Logic 서버는 선택한 'Gemini API' 제공업체의 백엔드 및 GeminiImagen 모델에 액세스하는 API로 요청을 전달하기 전에 Firebase App Check 확인이 이루어지는 프록시 게이트웨이 역할을 합니다.