Google AI Studio 앱에 Cloud Firestore 및 인증 추가

Google AI Studio의 빌드 모드를 사용하면 Cloud FirestoreFirebase Authentication을 웹 앱에 자동으로 설정하고 통합할 수 있으므로 영구 데이터 스토리지와 안전한 로그인 흐름을 사용하여 앱을 더 쉽게 빌드할 수 있습니다. 프롬프트 하나와 몇 번의 클릭만으로 Google AI Studio 에이전트가 Firebase 프로젝트를 설정하고, 앱을 해당 프로젝트에 연결하고, 앱에서 직접 모든 Cloud FirestoreAuthentication 코드를 생성할 수 있도록 할 수 있습니다.

개요: Google AI Studio 앱에 백엔드 추가

  1. 아이디어 설명: Google AI Studio에서 새 앱을 만들고 데이터베이스나 인증이 필요한 기능을 설명합니다. 예를 들어 다음과 같은 프롬프트를 입력할 수 있습니다. Build a shared to-do list app using Firebase as a backend.

  2. Firebase 통합 사용 설정: 에이전트의 안내에 따라 Firebase를 사용 설정하고, 프로젝트 위치를 선택하고, Firebase 약관에 동의합니다. 그러면 에이전트가 앱을 Firebase 프로젝트에 자동으로 연결하고 /src/lib/firebase.ts 파일과 firestore.rules 파일을 비롯한 앱에 필요한 Cloud FirestoreAuthentication 코드를 생성합니다.

  3. 배포: 준비가 완료되면 공유 > 게시 옵션을 사용하여 웹 앱을 Cloud Run에 배포합니다.

Cloud Firestore의 공유 할당량 이해하기

Google AI Studio 에이전트에서 프로비저닝한 모든 Cloud Firestore 데이터베이스는 Firebase 프로젝트의 동일한 데이터베이스 '그룹'에 배치됩니다. 모두 다음과 같은 특징을 공유합니다.

  • 공유 할당량: 그룹의 모든 데이터베이스가 사용량 할당량을 공유합니다(아래 세부정보 참고).
  • Cloud Billing 계정 불필요: 결제를 추가하지 않고 앱을 빌드하고 테스트할 수 있습니다. 선택적으로 결제를 추가하는 방법에 대한 자세한 내용은 아래를 참고하세요.
  • 일일 재설정: 일일 할당량 한도(예: 일일 읽기 50,000회)에 도달하면 서비스가 그룹 내 모든 데이터베이스에 대해 일시중지되고 다음 날 태평양 표준시 자정에 다시 시작됩니다.

공유 할당량 그룹의 Cloud Firestore 데이터베이스는 다음 한도를 공유합니다.

측정항목 Quota
저장된 데이터 총 1GiB
네트워크 이그레스 10GiB/월
단위 작성 일일 쓰기 40,000회
단위 읽기 일일 읽기 50,000회
실시간 업데이트 단위 일일 업데이트 50,000회

(선택사항) 결제를 추가하여 Cloud Firestore 할당량 늘리기

앱이 인기를 얻어 Cloud Firestore의 무료 한도를 초과해야 하는 경우 프로젝트를 사용한 만큼만 지불하는 Blaze 요금제로 업그레이드할 수 있습니다.

  1. 결제 추가(아직 추가하지 않은 경우): Firebase Console로 이동하여 결제 계정을 프로젝트에 연결합니다.

  2. 데이터베이스 업그레이드: 기본적으로 Google AI Studio 에이전트로 만든 Cloud Firestore 데이터베이스는 요금제를 업그레이드한 후에도 공유 할당량을 계속 사용합니다. 특정 데이터베이스에 대해 전체 유료 확장을 사용 설정하려면 curl 명령어를 사용하여 그룹에서 수동으로 이동해야 합니다.

    • PROJECT_ID : Firebase 프로젝트 ID입니다. Firebase Console의 프로젝트 설정에서 이 ID를 찾으세요.

    • DATABASE_ID : Cloud Firestore 데이터베이스 ID입니다. 이 ID는 애플릿 ID와 일치합니다. Firebase Console의 Cloud Firestore 데이터베이스 페이지에 있는 이름 열에서 이 데이터베이스 ID를 찾을 수 있습니다.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://firestore.googleapis.com/v1/projects/PROJECT_ID/databases/DATABASE_ID?updateMask=free_tier_limited" \
    -d '{"free_tier_limited": false}'
    

Security Rules 생성

Google AI Studio 에이전트는 앱의 로직을 기반으로 Firebase Security Rules을 자동으로 생성합니다. 이러한 Security Rules은 '기본 거부'로 설계되어 앱의 최종 사용자는 자신이 소유한 데이터에만 액세스할 수 있습니다.

Firebase Console에서 직접 Security Rules을 수동으로 조정하면 Google AI Studio 에이전트가 변경사항을 알지 못하며 후속 앱 반복 중에 덮어쓰게 됩니다. Google AI Studio 에이전트를 사용하여 Firebase Security Rules을 조정하여 변경사항이 유지되고 앱의 논리와 일치하도록 하는 것이 좋습니다.

기존 프로젝트 사용

Google AI Studio 에이전트에게 내가 소유한 기존 Google Cloud 프로젝트에 Cloud Firestore를 프로비저닝해 달라고 요청할 수도 있습니다. 다음과 같은 프롬프트로 기존 프로젝트를 사용하도록 에이전트에게 지시합니다.

Add Firestore to this app using project PROJECT_ID.
  • 공유 할당량을 사용하여 Cloud Firestore 데이터베이스가 해당 프로젝트에 프로비저닝됩니다.
  • Firebase Authentication이 Google 로그인으로 구성됩니다.
  • 서비스 계정에 Cloud Firestore 데이터베이스에 대한 액세스 권한이 부여됩니다. Google AI Studio에서 관리자 액세스를 허용하려면 ais-sandbox@PROJECT_ID.iam.gservice.com이라는 새 서비스 계정에 Cloud Firestore 데이터베이스에 액세스할 수 있는 권한이 부여됩니다. 이 계정은 Google AI Studio 앱에만 연결되어 있습니다.
  • 제한사항: Firebase 프로젝트에 이미 Cloud Firestore 데이터베이스가 있는 경우 에이전트는 데이터베이스를 추가할 수 없습니다. 사용할 새 빈 프로젝트를 만들어야 합니다.

Firebase Console 사용

Firebase Console에서 앱의 데이터와 설정을 확인할 수 있습니다. Google AI Studio와 연결된 프로젝트에 액세스하려면 다음 단계를 따르세요.

  1. Firebase Console로 이동하여 AI Studio라는 라벨이 지정된 프로젝트를 선택합니다.

  2. 왼쪽 탐색창에서 빌드 > Cloud Firestore 데이터베이스를 클릭하여 Cloud Firestore의 데이터를 확인하고 수정하거나 빌드 > Authentication을 클릭하여 Authentication 설정과 데이터를 구성합니다.

문제해결 및 FAQ

Firebase를 Google AI Studio 앱과 통합할 때 발생하는 일반적인 질문에 대한 답변을 확인하고 문제를 해결하는 방법을 알아보세요.

내 Google Cloud / Firebase 프로젝트는 어떻게 선택되나요?

Firebase 백엔드 추가 기능을 사용하면 Google AI Studio 에이전트가 앱의 백엔드 서비스(Cloud FirestoreFirebase Authentication)에 사용할 Firebase 프로젝트를 자동으로 선택합니다.

대신 특정 프로젝트를 사용하려면 다음과 같은 프롬프트로 에이전트에게 지시하면 됩니다.

Use project PROJECT_ID for the Firebase backend.

나중에 앱을 Cloud Run에 게시하기로 결정한 경우 이 프로젝트를 계속 사용하는 것이 중요합니다. 백엔드에 사용된 프로젝트와 일치하지 않으므로 다른 프로젝트를 선택하면 오류가 발생합니다.

지원되는 인증 방법은 무엇인가요?

Google AI Studio 에이전트는 Firebase 백엔드 추가 기능을 사용할 때 Google 로그인을 설정합니다. 추가 방법을 설정하려면 Firebase Console에서 사용 설정하고 Google AI Studio 에이전트에게 코드베이스 업데이트 지원을 요청하세요.

Google AI Studio로 Android나 iOS와 같은 모바일 앱을 만들 수 있나요?

현재 Google AI Studio 에이전트는 웹 앱만 만들 수 있습니다. Google AI Studio 에이전트 문서에서 지원되는 사항을 자세히 알아보세요.

하지만 모든 웹 앱과 마찬가지로 Google AI Studio로 만든 앱은 휴대기기에 설치된 브라우저에서 모바일 웹 앱으로 액세스할 수 있습니다.

firebase-blueprint.json 파일이란 무엇인가요?

Google AI Studio 에이전트가 앱의 코드베이스를 이해하는 데 사용하는 중간 파일입니다. 이 파일을 수동으로 수정하면 에이전트가 잘못된 코드나 안전하지 않은 Security Rules을 생성할 수 있으므로 수정하지 마세요.

'할당량 초과' 오류가 표시되면 어떻게 해야 하나요?

Cloud Firestore 할당량 한도에 도달하면 앱이 Cloud Firestore 데이터베이스 공유 할당량 그룹의 일일 사용량 한도에 도달한 것입니다. 이 문제를 해결하는 방법은 두 가지입니다.

  • 옵션 1: 기다리기: 할당량은 태평양 표준시 기준으로 매일 자정에 재설정됩니다.
  • 옵션 2: 업그레이드: 사용한 만큼만 지불하는 Blaze 요금제로 업그레이드합니다.
    • Google AI Studio 에이전트가 Cloud Firestore를 설정한 경우 Cloud Firestore 할당량을 늘리기 위해 결제 추가에 설명된 curl 명령어를 사용하여 데이터베이스를 일반 유료 상태로 전환해야 합니다. Cloud Firestore를 수동으로 설정한 경우 curl 명령어를 실행하지 않아도 됩니다.

'권한이 없거나 충분하지 않습니다'라는 오류가 표시되면 어떻게 해야 하나요?

이 오류는 앱이 Cloud Firestore 데이터베이스에서 데이터를 읽거나 쓰려고 시도하지만 Security Rules에서 요청을 거부할 때 발생합니다. 현재 인증 상태 또는 데이터 경로에 따라 Security Rules에서 시도된 작업을 허용하지 않음을 나타냅니다. 오류 수정 버튼을 클릭하여 Google AI Studio 에이전트가 Security Rules을 수정하도록 프롬프트를 입력합니다.

Google AI Studio 앱을 삭제하면 Firebase 백엔드는 어떻게 되나요?

Google AI Studio에서 애플리케이션을 삭제해도 연결된 Firebase 프로젝트, Cloud Firestore 데이터베이스 또는 Firebase Authentication 구성이 자동으로 삭제되지는 않습니다.

Firebase 백엔드를 추가한 경우 Firebase Console로 직접 이동하여 프로젝트를 삭제하거나 Cloud Firestore 데이터베이스 인스턴스 및 Authentication 제공업체와 같은 개별 리소스를 정리하여 모든 데이터와 구성이 삭제되도록 해야 합니다.

Google AI Studio 에이전트가 내 Cloud Firestore 데이터베이스의 데이터를 삭제하거나 수정할 수 있나요?

Google AI Studio 에이전트는 필요한 백엔드 리소스를 프로비저닝하고 코드와 Security Rules을 생성하도록 설계되었습니다. 에이전트 자체는 Cloud Firestore 데이터베이스 내에서 데이터 항목을 직접 삭제, 수정 또는 조작할 수 없지만 이러한 작업을 수행하도록 설계된 코드를 애플릿에 작성할 수 있습니다. 항목 삭제와 같은 데이터 관리 작업을 수행하려면 Firebase Console에서 Cloud Firestore 데이터베이스 페이지로 이동합니다.

Google Cloud를 사용하는 조직에 속해 있습니다. Google AI Studio 앱을 조직의 Google Cloud 환경 내 기존 프로젝트에 연결할 수 있나요?

Firebase 프로젝트가 특정 Google Cloud 조직 폴더 내에 있는지 확인합니다.

  1. 미리 Firebase 프로젝트를 수동으로 만듭니다.

  2. Google AI Studio에서 Firebase 백엔드를 설정할 때 에이전트가 기존 프로젝트를 사용하도록 안내합니다.

    Add Firestore to this app using project PROJECT_ID.
    

Firebase Console에서 특정 문서를 찾을 수 없는 이유는 무엇인가요?

AI Studio 에이전트가 상위 문서(user1)를 먼저 만들지 않고 중첩된 경로(예: /users/user1/messages/msg1)에 데이터를 저장하면 존재하지 않는 상위 문서가 생성됩니다. 이러한 문서는 Firebase Console에 표시되지 않으므로 Cloud Firestore 데이터베이스를 탐색할 때 찾기 어려울 수 있습니다. 이는 앱 실행에는 영향을 미치지 않지만, AI Studio 에이전트에게 문제를 설명하여 누락된 상위 문서를 만들도록 유도할 수 있습니다.

자세한 내용은 존재하지 않는 상위 문서를 참고하세요.

Google은 Google AI Studio에서 내 데이터(예: 코드 및 프롬프트)를 어떻게 사용하나요?

데이터 사용 방식에 대한 자세한 내용은 Gemini API 추가 서비스 약관을 참고하세요.

'Google Cloud 프로젝트의 공개적으로 액세스 가능한 Google API 키'에 관한 Google Cloud 이메일을 받았습니다. 어떤 조치를 취해야 하나요?

'Google Cloud 프로젝트의 공개적으로 액세스 가능한 Google API 키'에 관한 Google Cloud 이메일을 받았고 이메일에 나열된 API 키가 Firebase API 키인 경우, API 키가 코드 또는 구성 파일에 안전하게 포함될 수 있도록 다음 요구사항을 충족하는지 확인하세요. Google Cloud 콘솔의 API 및 서비스 > 사용자 인증 정보 패널에서 다음을 확인할 수 있습니다.

  • Firebase 앱에 사용하고 Firebase 서비스에만 사용하는 API 키입니다. 이러한 키는 일반적으로 Browser key (auto created by Firebase), Android key (auto created by Firebase) 또는 iOS key (auto created by Firebase)라고 합니다.
  • 필수 Firebase 관련 API가 키의 'API 제한사항' 허용 목록에 포함되어 있습니다.
  • 'API 제한사항' 허용 목록에 다른 API가 없습니다. 특히 목록에 Generative Language API가 있으면 안 됩니다.

또한 사용하는 Firebase 제품에 권장되는 대로 Firebase Security RulesApp Check를 사용하고 있는지 확인합니다.

Firebase용 API 키에 대한 자세한 내용을 알아보고 Firebase용 API 키 사용 및 관리 알아보기에서 FAQ 목록을 확인할 수 있습니다.