Firebase s'intègre à Application Design Center (ADC) de Google Cloud pour permettre aux entreprises clientes de répondre aux besoins de standardisation et de gouvernance, tout en permettant à leurs développeurs d'applications de livrer rapidement. L'utilisation de ADC garantit que l'infrastructure respecte les normes et les bonnes pratiques de l'organisation grâce à des modèles prédéfinis qui définissent des garde-fous pour le provisionnement des ressources, l'octroi d'autorisations IAM, etc.
Sur cette page, vous allez apprendre à :
- Présentation de ADC et Firebase, y compris les produits Firebase compatibles
- Principaux profils et rôles IAM requis pour contrôler les accès
- Workflow général
Présentation de ADC et Firebase
Nous vous recommandons de consulter la documentation Google Cloud pour obtenir une présentation de ADC. La documentation Google Cloud fournit également plusieurs guides détaillés pour ADC, y compris les concepts clés et un guide de configuration initiale.
Lorsque vous utilisez ADC, une "application" est définie comme un regroupement logique de ressources et de services qui, ensemble, fournissent une fonction métier. Pour les développeurs Firebase, une ADC "application" équivaut à un projet Firebase, dans lequel vos applications iOS, Android et Web enregistrées partagent et ont accès aux mêmes ressources et services pour le projet.
Pour commencer, nous vous recommandons d'utiliser ADC via l'interface utilisateur graphique appelée canevas de conception, disponible dans la console Google Cloud. Le canevas de conception vous permet de visualiser et de créer des diagrammes d'architecture de l'infrastructure que vous souhaitez mettre à la disposition de vos applications.
Notez que ADC est basé sur Terraform. Vous aurez donc toujours accès à la définition du code de l'infrastructure définie à l'aide de ADC.
Produits Firebase compatibles
Voici l'ensemble initial de produits Firebase compatibles pouvant être utilisés avec ADC :
- Firebase AI Logic
- Firebase Authentication
- Firebase App Check
- Cloud Firestore
- Firebase Security Rules
Principaux profils d'utilisateurs de ADC
Une façon courante de comprendre et d'utiliser ADC consiste à décomposer les tâches liées à ADC en fonction de deux personas :
Ingénieur de plate-forme : ce persona conçoit, vérifie et publie des modèles ADC réutilisables et soumis à des règles dans un catalogue ADC.
Développeur d'applications : ce persona utilise des modèles ADC publiés (par exemple, à partir du catalogue ADC de l'équipe) pour configurer et déployer l'infrastructure. Ils développent également le codebase et les fonctionnalités de l'application.
Rôles IAM requis pour contrôler l'accès
En attribuant des rôles IAM, vous pouvez contrôler quels membres du projet (ou principaux) peuvent effectuer des tâches spécifiques.
Par exemple, vous pouvez attribuer le rôle Administrateur Application Design Center (roles/designcenter.admin) à l'ingénieur de plate-forme qui doit créer et attribuer des espaces, gérer des catalogues et concevoir des modèles. Toutefois, vous n'attribuez probablement le rôle d'éditeur d'application (roles/designcenter.applicationEditor) qu'à un développeur d'applications afin qu'il puisse utiliser des modèles, mais pas en créer.
Le tableau suivant décrit les tâches liées à ADC, leur persona prévu et les rôles requis :
| Tâche | Persona | 1 rôle IAM |
|---|---|---|
| Créer et gérer des modèles | ||
|
Gérer l'intégralité du cycle de vie de ADC (y compris la gestion des espaces, des catalogues et des modèles, ainsi que la configuration et le déploiement des applications) |
Ingénieur de plate-forme |
Administrateur Application Design Center ( roles/designcenter.admin |
| Créer et gérer des modèles, et configurer et déployer des applications | Ingénieur de plate-forme |
Utilisateur Application Design Center ( roles/designcenter.user |
| Créer un compte de service pour déployer des applications ADC | ||
| Créer des comptes de service | Ingénieur de plate-forme |
Créateur de comptes de service ( roles/iam.serviceAccountCreator |
| Accorder à un compte de service l'accès à un projet utilisé pour le déploiement de ADC | Ingénieur de plate-forme |
Administrateur IAM de projet ( roles/resourcemanager.projectIamAdmin |
| Configurer et déployer des applications ADC | ||
|
Contrôlez l'intégralité du cycle de vie de l'application (y compris l'intégration au code source et aux systèmes CI/CD) |
Développeur d'applications |
Administrateur de l'application ( roles/designcenter.applicationAdmin |
| Configurer et déployer des applications à partir de modèles et de connexions existants configurés par un administrateur | Développeur d'applications |
Éditeur d'application ( roles/designcenter.applicationEditor |
1 Plusieurs de ces rôles doivent être définis sur le projet de gestion, qui est une ressource de premier niveau dans la hiérarchie Google Cloud.
Workflow général
Cette section décrit un workflow général pour créer et utiliser un modèle ADC. Les étapes sont associées au persona qui les effectue habituellement.
- Étape 1 : Configurer ADC (ingénieur de plate-forme)
- Étape 2 : Créer un modèle (ingénieur de plate-forme)
- Étape 3 : Utiliser un modèle (développeur d'applications)
- Étape 4 : Développez votre application (développeur d'applications)
Étape 1 : Configurer ADC (ingénieur de plate-forme)
Le persona d'ingénieur de plate-forme (ou supérieur) effectue ces tâches pour configurer ADC. En général, ces tâches ne doivent être effectuées qu'une seule fois pour que tout soit configuré pour utiliser ADC.
Configuration initiale de ADC.
Suivez les étapes et les instructions du guide de configuration initiale pour ADC dans la documentation de Google Cloud. Notez que ce guide suppose que vous allez configurer des limites au niveau des dossiers.
Une fois cette configuration terminée, vous devriez disposer d'un espace, qui est une zone dédiée permettant à une équipe de collaborer, de créer des modèles et de déployer des applications. Assurez-vous que cet espace (ainsi que le dossier et le catalogue) est partagé avec toutes les personnes avec lesquelles vous souhaitez travailler ADC.
Configurez l'accès et les utilisateurs de l'espace.
Suivez la procédure décrite dans Gérer les utilisateurs d'un espace pour ADC dans la documentation Google Cloud. Suivez les instructions décrites précédemment sur cette page concernant les rôles IAM requis pour contrôler l'accès.
Préprovisionnez les projets.
Créez un ou plusieurs projets Google Cloud dans le dossier. Assurez-vous d'associer un compte Cloud Billing à ces projets. Ces projets seront utilisés par votre développeur d'applications lorsqu'il déploiera l'infrastructure définie dans le modèle.
Configurez un compte de service de déploiement.
ADC gère le provisionnement automatisé des ressources à l'aide d'un compte de service au champ d'application restreint. Cela empêche le développeur d'applications d'utiliser son propre compte pour déployer l'infrastructure.
ADC peut créer automatiquement un compte de service à champ d'application restreint en votre nom lorsque vous testez le déploiement des modèles que vous créez. Vous pouvez également utiliser votre propre compte de service, qui dispose des autorisations que vous jugez appropriées pour les développeurs d'applications.
Étape 2 : Créer un modèle (ingénieur de plate-forme)
Le persona d'ingénieur de plate-forme utilise le canevas de conception ou même Gemini Cloud Assist pour créer un modèle ADC.
Définir les ressources
À l'aide du canevas de conception, glissez-déposez des composants sur le canevas et créez des connexions entre eux. Ces composants vous permettent de définir les services Firebase (et Google Cloud) que vous souhaitez que les développeurs d'applications utilisent.
Par exemple, le modèle peut définir des ressources comme suit :
- Les développeurs d'applications peuvent développer des applications iOS, Android et Web qui utilisent toutes les ressources.
- Les développeurs d'applications peuvent utiliser Firebase AI Logic, Firebase Authentication, Cloud Firestore et Firebase Security Rules dans leur application (consultez la liste de tous les produits Firebase compatibles avec ADC).
- Les Firebase Security Rules sont initialement configurées pour refuser toutes les demandes d'accès par défaut. Ensuite, lorsque le développeur d'applications utilisera ce modèle pour son propre déploiement, il pourra modifier ces Security Rules pour les aligner sur le modèle d'accès requis.
Définissez des règles.
Si vous souhaitez définir des règles, telles que des rôles IAM pour l'infrastructure déployée ou des régions autorisées pour les ressources, vous devez les définir dans les interfaces respectives de ces règles. ADC ne permet pas actuellement de définir des règles au niveau du modèle.
Vous pouvez attribuer des rôles Firebase IAM spécifiques aux membres du projet en fonction de ce que vous souhaitez qu'ils fassent. Par exemple, s'ils n'ont besoin que d'afficher les ressources dans la console Firebase, attribuez-leur le rôle Lecteur Firebase (
roles/firebase.viewer).Vous pouvez définir des limites de région pour les ressources au niveau du dossier ou de l'organisation.
Ajoutez le modèle à un catalogue.
Après avoir testé votre modèle, ajoutez-le au catalogue ADC de votre équipe. Ce catalogue doit être partagé avec les personnes appropriées, en particulier les développeurs d'applications, afin qu'ils puissent utiliser les modèles (voir l'Étape 1 : Configurer ADC ci-dessus).
Étape 3 : Utiliser un modèle (développeur d'applications)
Le développeur d'applications sélectionne un modèle prédéfini, le configure pour son cas d'utilisation spécifique, puis déploie l'infrastructure.
Sélectionnez un modèle et configurez-le.
Dans le catalogue ADC, sélectionnez un modèle et configurez-le pour créer un brouillon d'application. Les configurations disponibles (comme les régions possibles pour les ressources) sont limitées à celles définies par l'ingénieur de plate-forme lors de la création du modèle.
Déployez l'infrastructure.
Une fois le brouillon de l'application créé, déployez l'application ADC sur l'un des projets préprovisionnés créés pour le déploiement de l'infrastructure (voir Étape 1 : Configurer ADC ci-dessus).
Vous pouvez accéder à la consoleFirebase et afficher les ressources provisionnées et les services activés pour votre projet.
Étape 4 : Développez votre application (développeur d'applications)
ADC permet de configurer Firebase et l'infrastructure Google Cloud (par exemple, provisionner des ressources et activer des API). Toutefois, il ne code pas l'application qui utilise ces ressources et ces API.
Voici quelques tâches importantes que le persona de développeur d'applications doit effectuer :
Associez le codebase de votre application à Firebase.
Obtenez, puis ajoutez la configuration Firebase au codebase de chaque application.
Par exemple, si le modèle autorise une application Android, vous devez ajouter le fichier
google-services.jsonau répertoire approprié de votre projet Android.Assurez-vous que le code et les ressources sont alignés.
(Si vous utilisez Cloud Firestore) Veillez à mettre à jour et à publier Firebase Security Rules pour l'aligner sur le modèle de données Cloud Firestore de l'application.
Qu'est-ce que tu sais faire d'autre ?
- Surveiller les "applications" ADC déployées, qui sont automatiquement enregistrées dans App Hub. Cela permet de consolider la surveillance, l'observation des coûts et le dépannage des ressources Firebase dans le contexte de déploiements Google Cloud plus larges.