Créer et gérer des bases de données
Cette page explique comment créer, mettre à jour et supprimer des bases de données Firestore compatibles avec MongoDB. Vous pouvez créer plusieurs bases de données Firestore par projet. Vous pouvez utiliser plusieurs bases de données pour configurer des environnements de production et de test, isoler les données client et régionaliser les données.
Utilisation de la version gratuite
Firestore propose une version gratuite qui vous permet de démarrer sans frais.
Le niveau gratuit ne s'applique qu'à une seule base de données Firestore par projet. La première base de données créée dans un projet sans base de données de niveau sans frais bénéficiera du niveau sans frais. Si la base de données avec le niveau sans frais appliqué est supprimée, la base de données suivante créée recevra le niveau sans frais.
Avant de commencer
Avant de créer une base de données, vous devez effectuer les opérations suivantes :
-
Verify that billing is enabled for your Google Cloud project.
- Attribuez les rôles IAM (Identity and Access Management) appropriés, comme décrit dans la section suivante.
Rôles requis
Pour créer et gérer des bases de données, vous devez disposer du rôle Identity and Access Management Owner
ou Datastore Owner
. Ces rôles accordent les autorisations requises.
Autorisations requises
Pour gérer les bases de données, vous devez disposer des autorisations suivantes :
- Créez une base de données :
datastore.databases.create
- Lire la configuration de la base de données :
datastore.databases.getMetadata
- Configurer une base de données :
datastore.databases.update
- Supprimer une base de données :
datastore.databases.delete
- Cloner une base de données :
datastore.databases.clone
Créer une base de données
Pour créer une base de données Firestore compatible avec MongoDB, utilisez l'une des méthodes suivantes :
ConsoleGoogle Cloud
-
Dans la console Google Cloud , accédez à la page Bases de données.
- Cliquez sur Créer une base de données Firestore.
- Saisissez un ID de base de données.
- Sélectionnez l'édition Enterprise.
- Sélectionnez un emplacement pour votre base de données.
- (Facultatif) Si vous devez personnaliser votre chiffrement, cliquez sur Afficher les options de chiffrement et configurez les options de chiffrement.
- Cliquez sur Créer une base de données.
CLI Firebase
firebase firestore:databases:create --edition EDITION DATABASE_ID \ --location=LOCATION
gcloud CLI
Exécutez la commande gcloud firestore databases create
et définissez --edition=enterprise
.
gcloud firestore databases create \ --database=DATABASE_ID \ --location=LOCATION \ --edition=enterprise
Remplacez les éléments suivants :
- DATABASE_ID : ID de base de données valide.
- LOCATION : nom d'une région ou d'une multirégion Firestore compatible avec MongoDB.
Pour activer la protection contre la suppression, ajoutez l'indicateur --delete-protection
.
Vous ne pouvez pas supprimer une base de données dont la protection contre la suppression est activée tant que vous n'avez pas désactivé ce paramètre. Ce paramètre est désactivé par défaut.
gcloud firestore databases create \ --database=DATABASE_ID \ --location=LOCATION \ --edition=enterprise \ --delete-protection
Pour ajouter des tags à la base de données, utilisez l'option --tags
. Exemple :
--tags=123/environment=production,123/costCenter=marketing
--tags=tagKeys/333=tagValues/444
Terraform
Utilisez la ressource google_firestore_database
et définissez database_edition
sur ENTERPRISE
.
resource "google_firestore_database" "database" { name = "DATABASE_ID" location_id = "LOCATION" type = "FIRESTORE_NATIVE" database_edition = "ENTERPRISE" // Optional delete_protection_state = "DELETE_PROTECTION_STATE" }
Remplacez les éléments suivants :
- DATABASE_ID : ID de base de données valide.
- LOCATION : nom d'une région ou d'une multirégion Firestore compatible avec MongoDB.
- DELETE_PROTECTION_ENABLEMENT :
DELETE_PROTECTION_ENABLED
ouDELETE_PROTECTION_DISABLED
.
Pour activer la protection contre la suppression, définissez delete_protection_state
sur DELETE_PROTECTION_ENABLED
.
Vous ne pouvez pas supprimer une base de données dont la protection contre la suppression est activée tant que vous n'avez pas désactivé ce paramètre. Ce paramètre est désactivé par défaut.
ID de la base de données
Les ID de base de données valides incluent les ID qui respectent les règles suivantes :
- N'inclut que des lettres, des chiffres et des traits d'union (
-
). - Les lettres doivent être en minuscules.
- Il doit commencer par une lettre.
- Le dernier caractère doit être une lettre ou un chiffre.
- 4 caractères minimum
- 63 caractères au maximum.
- Ne doit pas être un UUID ni y ressembler. Par exemple, n'utilisez pas un ID tel que
f47ac10b-58cc-0372-8567-0e02b2c3d479
.
Si vous supprimez une base de données, vous ne pouvez pas réutiliser immédiatement son ID et devez attendre cinq minutes.
Supprimer la protection
Utilisez la protection contre la suppression pour éviter la suppression accidentelle d'une base de données. La protection contre la suppression fonctionne de la manière suivante :
- Vous ne pouvez pas supprimer une base de données pour laquelle la protection contre la suppression est activée tant que vous ne l'avez pas désactivée.
- La protection contre la suppression est désactivée par défaut.
- Vous pouvez activer la protection contre la suppression lorsque vous créez la base de données ou mettre à jour la configuration d'une base de données pour activer la protection contre la suppression.
Répertorier des bases de données
Utilisez l'une des méthodes suivantes pour lister vos bases de données :
Console
Dans la console Google Cloud , accédez à la page Bases de données.
gcloud CLI
Utilisez la commande gcloud firestore databases list
pour lister toutes les bases de données de votre projet.
gcloud firestore databases list
Afficher les détails de la base de données
Pour afficher les détails d'une seule base de données, utilisez l'une des méthodes suivantes :
ConsoleGoogle Cloud
-
Dans la console Google Cloud , accédez à la page Bases de données.
- Sélectionnez une base de données dans la liste.
gcloud CLI
Exécutez la commande gcloud firestore databases describe
:
gcloud firestore databases describe --database=DATABASE_ID
Remplacez DATABASE_ID par un ID de base de données.
Mettre à jour la configuration de la base de données
Pour mettre à jour les paramètres de configuration d'une base de données, utilisez la commande gcloud firestore databases update
.
Utilisez cette commande pour modifier, activer ou désactiver la protection contre la suppression.
Modifier le paramètre de protection contre la suppression
Pour activer la protection contre la suppression sur une base de données, utilisez la commande gcloud firestore databases update
avec l'option --delete-protection
. Exemple :
gcloud CLI
gcloud firestore databases update --database=DATABASE_ID --delete-protection
Remplacez DATABASE_ID par un ID de base de données.
Pour désactiver la protection contre la suppression sur une base de données, utilisez la commande gcloud firestore databases update
avec l'option --no-delete-protection
. Exemple :
gcloud CLI
gcloud firestore databases update --database=DATABASE_ID --no-delete-protection
Remplacez DATABASE_ID par un ID de base de données.
Supprimer une base de données
Pour supprimer une base de données, utilisez la console ou l'outil de ligne de commande. La suppression d'une base de données n'entraîne pas de frais pour les opérations de suppression.
Si le paramètre de protection contre la suppression est activé pour la base de données, vous devez d'abord désactiver la protection contre la suppression.
ConsoleGoogle Cloud
-
Dans la console Google Cloud , accédez à la page Bases de données.
- Dans la colonne Actions de la base de données que vous souhaitez supprimer, cliquez sur Afficher plus. Cliquez sur Supprimer. Une boîte de dialogue s'affiche.
Dans la boîte de dialogue Supprimer la base de données ?, confirmez la suppression en saisissant l'ID de la base de données dans le champ de texte. Cliquez sur Supprimer. La console vous informe de la réussite ou de l'échec de l'opération.
Si l'opération échoue, affichez les détails de la base de données et vérifiez que la protection contre la suppression est désactivée. Pour désactiver la protection contre la suppression, consultez Mettre à jour le paramètre de protection contre la suppression.
gcloud CLI
Utilisez la commande `gcloud firestore databases delete`.
gcloud firestore databases delete --database=DATABASE_ID
Remplacez DATABASE_ID par l'ID de la base de données à supprimer.
Cloner une base de données
Vous pouvez cloner une base de données existante à un code temporel sélectionné dans une nouvelle base de données :
La base de données clonée est une nouvelle base de données qui sera créée au même emplacement que la base de données source.
Pour créer un clone, Firestore utilise les données de récupération à un moment précis de la base de données source. La base de données clonée inclut toutes les données et tous les index.
Par défaut, la base de données clonée sera chiffrée de la même manière que la base de données source, à l'aide du chiffrement par défaut de Google ou du chiffrement CMEK. Vous pouvez spécifier un autre type de chiffrement ou utiliser une autre clé pour le chiffrement CMEK.
L'horodatage a une précision d'une minute et spécifie un point dans le temps dans le passé, au cours de la période définie par la fenêtre PITR :
- Si la récupération PITR est activée pour votre base de données, vous pouvez sélectionner n'importe quelle minute des sept derniers jours (ou moins si la récupération PITR a été activée il y a moins de sept jours).
- Si la récupération à un moment précis n'est pas activée, vous pouvez sélectionner n'importe quelle minute de l'heure précédente.
- Vous pouvez consulter le code temporel le plus ancien que vous pouvez sélectionner dans la description de votre base de données.
Console
Dans la console Google Cloud , accédez à la page Bases de données.
Cliquez sur
Afficher plus sur la ligne du tableau correspondant à la base de données que vous souhaitez cloner. Cliquez sur Cloner. La boîte de dialogue Créer un clone s'affiche.Dans la boîte de dialogue Créer un clone, fournissez les paramètres permettant de cloner la base de données :
Dans le champ Indiquez un ID pour le clone, saisissez un ID de base de données pour la nouvelle base de données clonée. Cet ID de base de données ne doit pas être associé à une base de données existante.
Dans le champ Cloner à partir de, sélectionnez un moment précis à utiliser pour le clonage. L'heure sélectionnée correspond à un code temporel de récupération à un moment précis, à la minute près.
Cliquez sur Créer un clone.
gcloud
Exécutez la commande gcloud alpha firestore databases clone
pour cloner une base de données :
gcloud alpha firestore databases clone \
--source-database='SOURCE_DATABASE' \
--snapshot-time='PITR_TIMESTAMP' \
--destination-database='DESTINATION_DATABASE_ID'
Remplacez les éléments suivants :
SOURCE_DATABASE : nom de la base de données existante que vous souhaitez cloner. Le nom utilise le format
projects/PROJECT_ID/databases/SOURCE_DATABASE_ID
.PITR_TIMESTAMP : code temporel PITR au format RFC 3339, avec une précision à la minute près. Par exemple,
2025-06-01T10:20:00.00Z
ou2025-06-01T10:30:00.00-07:00
.DESTINATION_DATABASE_ID : ID de base de données pour une nouvelle base de données clonée. Cet ID de base de données ne doit pas être associé à une base de données existante.
Exemple :
gcloud alpha firestore databases clone \
--source-database='projects/example-project/databases/(default)' \
--snapshot-time='2025-06-01T10:20:00.00Z' \
--destination-database='projects/example-project/databases/example-dest-db'
Modifier la configuration du chiffrement de la base de données clonée
Par défaut, la base de données clonée aura la même configuration de chiffrement que la base de données source. Pour modifier la configuration du chiffrement, utilisez l'argument --encryption-type
:
- (Par défaut)
use-source-encryption
: utilisez la même configuration de chiffrement que la base de données source. google-default-encryption
: utiliser le chiffrement par défaut de Google.customer-managed-encryption
: utiliser le chiffrement CMEK. Spécifiez un ID de clé dans l'argument--kms-key-name
.
L'exemple suivant montre comment configurer le chiffrement CMEK pour la base de données clonée :
gcloud alpha firestore databases clone \
--source-database='projects/example-project/databases/(default)' \
--snapshot-time='2025-06-01T10:20:00.00Z' \
--destination-database='projects/example-project/databases/example-dest-db' \
--encryption-type='customer-managed-encryption' \
--kms-key-name='projects/example-project/locations/us-central1/keyRings/example-key-ring/cryptoKeys/example-key'
Configurer les autorisations d'accès par base de données
Vous pouvez utiliser les conditions Identity and Access Management pour configurer les autorisations d'accès au niveau de chaque base de données. Les exemples suivants utilisent Google Cloud CLI pour attribuer un accès conditionnel à une ou plusieurs bases de données. Vous pouvez également définir des conditions IAM dans la console Google Cloud .
Afficher les stratégies IAM existantes
gcloud projects get-iam-policy PROJECT_ID
Définissez PROJECT_ID
sur l'ID de votre projet.
Accorder l'accès à une base de données
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' \
--condition='expression=resource.name=="projects/PROJECT_ID/databases/DATABASE_ID",title=TITLE,description=DESCRIPTION'
Renseignez les champs suivants :
PROJECT_ID
: ID de votre projet.EMAIL
: adresse e-mail qui représente un compte spécifique. Exemple :alice@example.com
DATABASE_ID
: ID de la base de données.TITLE
: titre facultatif de l'expression.DESCRIPTION
: description facultative de l'expression.
Accorder l'accès à toutes les bases de données sauf une
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' \
--condition='expression=resource.name!="projects/PROJECT_ID/databases/DATABASE_ID",title=TITLE,description=DESCRIPTION'
Renseignez les champs suivants :
PROJECT_ID
: ID de votre projet.EMAIL
: adresse e-mail qui représente un compte spécifique. Exemple :alice@example.com
DATABASE_ID
: ID de la base de données.TITLE
: titre facultatif de l'expression.DESCRIPTION
: description facultative de l'expression.
Supprimer des règles pour un membre et un rôle donnés
gcloud projects remove-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' --all
Renseignez les champs suivants :
PROJECT_ID
: ID de votre projet.EMAIL
: adresse e-mail qui représente un compte spécifique. Exemple :alice@example.com
Limites
Vous pouvez créer jusqu'à 100 bases de données par projet. Vous pouvez contacter l'assistance pour demander à augmenter cette limite.
Étapes suivantes
- Exécutez le guide de démarrage rapide : créer une base de données et s'y connecter.
- En savoir plus sur les différences de comportement
- En savoir plus sur les métriques Cloud Monitoring pour Firestore compatible avec MongoDB