Gérer l'accès au projet avec Firebase IAM

La gestion des identités et des accès (IAM) vous permet d'accorder un accès granulaire à des ressources Firebase et Google spécifiques et d'empêcher tout accès indésirable à d'autres ressources. IAM vous permet d'adopter le principe de sécurité du moindre privilège , vous n'accordant ainsi que l'accès nécessaire à vos ressources.

Pour une description détaillée d'IAM, lisez la documentation Google Cloud IAM .

Présentation de Firebase IAM

Firebase propose des options IAM supplémentaires spécifiques aux projets Firebase et aux membres de votre projet.

Lorsqu'un membre authentifié du projet demande une action dans Firebase, IAM prend une décision d'autorisation quant à savoir si le membre du projet est autorisé à effectuer l'opération demandée sur la ressource . La question de savoir si le membre du projet est autorisé à exécuter la demande dépend du rôle attribué au membre du projet. Chaque rôle est un ensemble d'autorisations et lorsque vous attribuez un rôle à un membre du projet, vous accordez à ce membre du projet toutes les autorisations pour ce rôle.

Membres du projet

À l'aide de Firebase IAM, vous attribuez des rôles (et leurs autorisations inhérentes) aux membres de votre projet. Les membres du projet peuvent être des types suivants :

  • Compte google
  • Compte de service
  • Groupe Google

Les rôles

Les autorisations sont accordées aux membres de votre projet via des rôles . Un rôle est un ensemble d' autorisations . Lorsque vous attribuez un rôle à un membre du projet, vous accordez à ce membre du projet toutes les autorisations contenues dans le rôle.

Firebase IAM prend en charge les types de rôles suivants :

  • Rôles de base : rôles de propriétaire fondamental, d'éditeur et de visualiseur (anciennement appelés rôles "primitifs").

  • Rôles prédéfinis : rôles spécifiques à Firebase qui permettent un contrôle d'accès plus granulaire que les rôles de base. Firebase propose :

    • Rôles au niveau Firebase : rôles qui accordent un accès complet en lecture/écriture ou en lecture seule à tous les produits Firebase.

    • Rôles de catégorie de produits : rôles qui accordent un accès complet en lecture/écriture ou en lecture seule à des groupes de produits. Ils sont structurés autour de Google Analytics et de catégories générales de produits.

    • Rôles au niveau du produit : rôles qui accordent un accès complet en lecture/écriture ou en lecture seule à des produits Firebase spécifiques .

  • Rôles personnalisés : rôles entièrement personnalisés que vous créez pour personnaliser un ensemble d'autorisations qui répondent aux exigences spécifiques de votre organisation.

Latence de changement de rôle

Si vous modifiez l'attribution de rôle à un membre du projet, la modification peut prendre jusqu'à 5 minutes pour prendre effet.

Gérer les membres du projet et leurs rôles

Afficher les membres du projet et leurs rôles

Vous pouvez afficher plusieurs membres de votre projet et leurs rôles dans l' onglet Utilisateurs et autorisations des > Paramètres du projet dans la console Firebase. Notez ce qui suit :
  • La console Firebase répertorie uniquement les membres du projet auxquels est attribué un rôle de base (Propriétaire, Éditeur, Visionneur) ou un rôle prédéfini Firebase . Les membres du projet répertoriés dans cet onglet sont les seuls membres du projet qui ont accès au projet Firebase dans la console Firebase.
  • La console Firebase ne répertorie pas les membres du projet qui sont des comptes de service. Affichez ces membres du projet sur la page IAM de la console Google Cloud.
Vous pouvez également afficher tous les membres de votre projet et leurs rôles sur la page IAM de la console Google Cloud.

Attribuer un rôle à un membre du projet

Pour gérer le(s) rôle(s) attribué(s) à chaque membre du projet, vous devez être propriétaire du projet Firebase (ou se voir attribuer un rôle avec l'autorisation resourcemanager.projects.setIamPolicy ).

Voici les endroits où vous pouvez attribuer et gérer des rôles :

Si le propriétaire de votre projet ne peut plus effectuer les tâches d'un propriétaire (par exemple, la personne a quitté votre entreprise) et que votre projet n'est pas géré via une organisation Google Cloud (voir paragraphe suivant), vous pouvez contacter l'assistance Firebase pour obtenir un propriétaire temporaire attribué.

Notez que si un projet Firebase fait partie d'une organisation Google Cloud, il se peut qu'il n'ait pas de propriétaire. Si vous ne parvenez pas à trouver un propriétaire pour votre projet Firebase, contactez la personne qui gère votre organisation Google Cloud afin d'attribuer un propriétaire au projet.