Autorisations accordées à une extension Firebase

Pour qu'un Firebase Extension effectue les actions spécifiées, Firebase accorde à chaque instance d'une extension installée un accès limité à votre projet et à vos données via un compte de service.

Qu'est-ce qu'un compte de service ?

A compte de service est un type particulier de compte d’utilisateur Google. Il représente un utilisateur non humain autorisé à accéder aux données via des API Google.

Lors de l'installation d'une extension, Firebase crée un compte de service dans votre projet. Chaque instance installée d'une extension dispose de son propre compte de service.

Firebase limite l'accès à votre projet et à vos données en attribuant à l'extension des rôles (groupes d'autorisations) spécifiques au compte de service. Les rôles requis par une extension sont déterminés par Firebase lors du développement des extensions. À Firebase attribue ces rôles au compte de service d'une extension, Vous ne devez pas modifier, ajouter ni supprimer ces rôles attribués (sinon, l'extension installée ne fonctionnera pas comme prévu). Cependant, vous pouvez désinstaller l'extension, ce qui supprime le service ; (et de ses accès).

Les comptes de service créés pour les extensions sont au format ext-extension-instance-id@project-id.iam.gserviceaccount.com.

Vous pouvez afficher tous les comptes de service associés à votre projet Firebase dans la Comptes de service de votre Paramètres du projet.

Autorisations et rôles

Pendant le développement d'une extension, Firebase détermine le niveau d'accès dont une extension a besoin pour fonctionner.

Firebase définit ce niveau d'accès en listant explicitement les rôles. (groupes d'autorisations) que Firebase doit attribuer aux autorisations compte de service lors de l'installation de l'extension.

Chaque rôle (et les autorisations qui en découlent) est basé sur un produit ou Google Cloud. Exemples de rôles : firebasehosting.admin, bigquery.dataEditor, et firebasedatabase.admin. Firebase répertorie les rôles requis pour une extension dans le fichier de spécification de l'extension fichier extension.yaml).

Pour les extensions Firebase officielles, Firebase examine attentivement cette liste pour garantir que l'accès d'une extension est strictement limité au champ d'application les tâches de l'extension. Vous pouvez également consulter et vérifier vous-même l'accès accordé à une extension en consultant sa page d'informations dans le tableau de bord Firebase Extensions ou en consultant son fichier README.

Découvrez les autorisations incluses dans chaque rôle:

Que se passe-t-il lorsque je désinstalle une extension ?

Lorsque vous désinstallez une extension de votre projet, Firebase supprime le compte de service créé pour cette instance de l'extension. Après la suppression du service, l'extension ne peut pas être exécutée dans votre projet, car elle ne comporte plus des droits d'accès à votre projet ou à vos données.