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:
- Firebase Project Owner or Editor role - Required for backup access
- Firestore Database created - At least one database in native mode
- Google Account access - The account used must have access to the Firebase project
OAuth Connection Flow
- Navigate to Projects in the sidebar
- Click Add Project
- Click Connect with Google
- Select the Google account that has access to your Firebase project
- Grant the required permissions:
- Firebase project access
- Cloud Datastore access
- Cloud Platform access
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:
- Select the project(s) you want to connect
- For each project, FireBackup will:
- Verify IAM permissions
- Detect available Firestore databases
- Check Authentication configuration
- Click Connect Selected Projects
IAM Permission Verification
FireBackup automatically verifies that your credentials have the necessary IAM roles:
| Role | Purpose |
|---|---|
roles/datastore.viewer | Read Firestore data for backups |
roles/datastore.importExportAdmin | Export data (for large backups) |
roles/firebase.viewer | Access Firebase project metadata |
roles/identitytoolkit.viewer | Read 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:
- Navigate to the project
- Click Reconnect in the Settings tab
- 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
- Go to Settings > Storage in FireBackup
- Navigate to the Service Account section
- Click Add Service Account
- 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
- Navigate to the project's Settings tab
- Under Authentication Method, select Service Account
- Choose the service account from the dropdown
- Click Save
Project Settings
Backup Preferences
Configure default backup behavior for each project:
| Setting | Description | Default |
|---|---|---|
| Default Storage | Where backups are stored | Organization default |
| Compression | Brotli or Gzip | Brotli |
| Encryption | Enable AES-256-GCM | Enabled |
| Include Auth | Backup Firebase Auth users | Disabled |
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
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:
- Navigate to the project's Settings tab
- Scroll to Danger Zone
- Click Disconnect Project
- Confirm the action
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:
- Verify your Google account has Owner or Editor role on the Firebase project
- Re-authenticate by clicking Reconnect
- 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:
- Verify the project exists in the Firebase Console
- Check that your Google account still has access
- Contact your Firebase project administrator
"Token Expired" Warning
Cause: OAuth refresh failed, possibly due to revoked access.
Solution:
- Click Reconnect to re-authenticate
- Complete the OAuth flow
- If the issue persists, check Google Security settings for revoked app access