Skip to main content

Managing Projects

Projects in FireBackup represent your connected Firebase projects. Each project can have its own backup schedules, storage destinations, and PITR configuration.

Connecting a Firebase Project

Prerequisites

Before connecting a project, ensure you have:

  1. Firebase Project Owner or Editor role - Required for backup access
  2. Firestore Database created - At least one database in native mode
  3. Google Account access - The account used must have access to the Firebase project

OAuth Connection Flow

  1. Navigate to Projects in the sidebar
  2. Click Add Project
  3. Click Connect with Google
  4. Select the Google account that has access to your Firebase project
  5. Grant the required permissions:
    • Firebase project access
    • Cloud Datastore access
    • Cloud Platform access
Required Permissions

FireBackup requires read access to your Firestore data to create backups and write access to restore data. We never modify your data during backup operations.

Project Selection

After OAuth authentication, you'll see a list of all Firebase projects accessible with your Google account:

  1. Select the project(s) you want to connect
  2. For each project, FireBackup will:
    • Verify IAM permissions
    • Detect available Firestore databases
    • Check Authentication configuration
  3. Click Connect Selected Projects

IAM Permission Verification

FireBackup automatically verifies that your credentials have the necessary IAM roles:

RolePurpose
roles/datastore.viewerRead Firestore data for backups
roles/datastore.importExportAdminExport data (for large backups)
roles/firebase.viewerAccess Firebase project metadata
roles/identitytoolkit.viewerRead Firebase Auth users (optional)

If any permissions are missing, you'll see a warning with instructions to add the required roles in the Google Cloud Console.

Project Overview

Each connected project displays:

Project Card

  • Project Name - Your Firebase project's display name
  • Project ID - The unique Firebase project identifier
  • Status Indicator - Connection health (Active, Warning, Error)
  • Last Backup - When the most recent backup completed
  • Next Scheduled - When the next automated backup will run
  • Quick Actions - Buttons for common operations

Project Details Page

Click on any project to view its detailed page:

Overview Tab

  • Backup history chart
  • Storage usage breakdown
  • Recent activity log

Settings Tab

  • OAuth token status
  • Connected collections
  • Backup preferences

Backups Tab

  • List of all backups for this project
  • Filter by date, type, or status
  • Quick restore access

Managing OAuth Credentials

Credential Types

FireBackup supports two authentication methods:

1. OAuth Tokens (Default)

User-based authentication using Google OAuth:

  • Pros: Easy setup, automatic permission inheritance
  • Cons: Tokens expire after 1 hour (auto-refreshed), tied to user account

2. Service Accounts (Enterprise)

Service account-based authentication:

  • Pros: Long-lived credentials, not tied to individual users
  • Cons: Requires manual IAM configuration

Refreshing OAuth Tokens

OAuth tokens automatically refresh before expiration. If a refresh fails:

  1. Navigate to the project
  2. Click Reconnect in the Settings tab
  3. Complete the OAuth flow again

Viewing Token Status

In project settings, you can view:

  • Token Status: Valid, Expiring Soon, or Expired
  • Scopes: Permissions granted
  • Last Refreshed: When the token was last updated
  • Expires At: Token expiration time

Service Account Setup

For enterprise deployments or automated pipelines:

Creating a Service Account

  1. Go to Settings > Storage in FireBackup
  2. Navigate to the Service Account section
  3. Click Add Service Account
  4. Upload your Google Cloud service account JSON key

Required IAM Roles

Your service account needs these roles in Google Cloud:

roles/datastore.viewer
roles/datastore.importExportAdmin
roles/firebase.viewer
roles/identitytoolkit.viewer (for Auth backups)

Assigning Service Account to Project

  1. Navigate to the project's Settings tab
  2. Under Authentication Method, select Service Account
  3. Choose the service account from the dropdown
  4. Click Save

Project Settings

Backup Preferences

Configure default backup behavior for each project:

SettingDescriptionDefault
Default StorageWhere backups are storedOrganization default
CompressionBrotli or GzipBrotli
EncryptionEnable AES-256-GCMEnabled
Include AuthBackup Firebase Auth usersDisabled

Collection Selection

Choose which Firestore collections to include in backups:

  • All Collections - Backup entire database
  • Selected Collections - Choose specific collections
  • Exclude Collections - Backup all except specified
Performance Optimization

For large databases, excluding high-volume collections (like analytics or logs) can significantly reduce backup time and storage costs.

Disconnecting a Project

To remove a project from FireBackup:

  1. Navigate to the project's Settings tab
  2. Scroll to Danger Zone
  3. Click Disconnect Project
  4. Confirm the action
Data Retention

Existing backups are NOT deleted when you disconnect a project. To remove backups, delete them manually before disconnecting.

Troubleshooting

"IAM Permission Denied" Error

Cause: Your OAuth token doesn't have sufficient permissions.

Solution:

  1. Verify your Google account has Owner or Editor role on the Firebase project
  2. Re-authenticate by clicking Reconnect
  3. Ensure all requested scopes are granted during OAuth

"Project Not Found" Error

Cause: The Firebase project may have been deleted or you've lost access.

Solution:

  1. Verify the project exists in the Firebase Console
  2. Check that your Google account still has access
  3. Contact your Firebase project administrator

"Token Expired" Warning

Cause: OAuth refresh failed, possibly due to revoked access.

Solution:

  1. Click Reconnect to re-authenticate
  2. Complete the OAuth flow
  3. If the issue persists, check Google Security settings for revoked app access

Next Steps