Administrar el acceso al proyecto con Firebase IAM

La administración de identidad y acceso (IAM) le permite otorgar acceso granular a recursos específicos de Firebase y Google y evita el acceso no deseado a otros recursos. IAM le permite adoptar el principio de seguridad de privilegio mínimo , de modo que solo conceda el acceso necesario a sus recursos.

Para obtener una descripción detallada de IAM, lea la documentación de Google Cloud IAM .

Descripción general de Firebase IAM

Firebase ofrece opciones de IAM adicionales que son específicas para los proyectos de Firebase y los miembros de su proyecto.

Cuando un miembro del proyecto autenticado solicita una acción en Firebase, IAM toma una decisión de autorización sobre si el miembro del proyecto tiene permiso para realizar la operación solicitada en el recurso . Si el miembro del proyecto tiene permiso para realizar la solicitud depende del rol asignado al miembro del proyecto. Cada rol es una colección de permisos y cuando asigna un rol a un miembro del proyecto, le otorga a ese miembro del proyecto todos los permisos para ese rol.

Miembros del proyecto

Con Firebase IAM, asignas roles (y sus permisos inherentes) a los miembros de tu proyecto. Los miembros del proyecto pueden ser de los siguientes tipos :

  • cuenta Google
  • cuenta de servicio
  • grupo de google

Roles

Los permisos se otorgan a los miembros de su proyecto a través de roles . Un rol es una colección de permisos . Cuando asigna una función a un miembro del proyecto, le otorga a ese miembro del proyecto todos los permisos que contiene la función.

Firebase IAM admite los siguientes tipos de roles:

  • Roles básicos : roles de propietario fundamental, editor y espectador (anteriormente llamados roles "primitivos").

  • Roles predefinidos : roles seleccionados específicos de Firebase que permiten un control de acceso más granular que los roles básicos. Ofertas de Firebase:

    • Roles a nivel de Firebase : roles que otorgan acceso completo de lectura/escritura o de solo lectura a todos los productos de Firebase.

    • Roles de categoría de producto : roles que otorgan acceso completo de lectura/escritura o de solo lectura a grupos de productos. Están estructurados en torno a Google Analytics y categorías generales de productos.

    • Roles a nivel de producto : roles que otorgan acceso completo de lectura/escritura o de solo lectura a productos Firebase específicos .

  • Roles personalizados : roles totalmente personalizados que usted crea para adaptar un conjunto de permisos que cumplan con los requisitos específicos de su organización.

Latencia de cambio de rol

Si cambia la asignación de roles de un miembro del proyecto, el cambio puede tardar hasta 5 minutos en surtir efecto.

Gestionar los miembros del proyecto y sus roles.

Ver los miembros del proyecto y sus roles

Puedes ver muchos de los miembros de tu proyecto y sus roles en la pestaña Usuarios y permisos de > Configuración del proyecto en Firebase console. Tenga en cuenta lo siguiente:
  • Firebase console solo enumera los miembros del proyecto a los que se les ha asignado una función básica (Propietario, Editor, Visualizador) o una función predefinida de Firebase . Los miembros del proyecto que figuran en esta pestaña son los únicos miembros del proyecto que tienen acceso al proyecto de Firebase en Firebase console.
  • Firebase console no enumera los miembros del proyecto que sean cuentas de servicio. Vea estos miembros del proyecto en la página IAM de la consola de Google Cloud.
Alternativamente, puedes ver todos los miembros de tu proyecto y sus roles en la página IAM de la consola de Google Cloud.

Asignar un rol a un miembro del proyecto

Para administrar las funciones asignadas a cada miembro del proyecto, debes ser propietario del proyecto de Firebase (o tener asignada una función con el permiso resourcemanager.projects.setIamPolicy ).

Estos son los lugares donde puede asignar y administrar roles:

Si el propietario de su proyecto ya no puede realizar las tareas de un propietario (por ejemplo, la persona dejó su empresa) y su proyecto no se administra a través de una organización de Google Cloud (consulte el siguiente párrafo), puede comunicarse con el soporte de Firebase para obtener un propietario temporal asignado.

Tenga en cuenta que si un proyecto de Firebase forma parte de una organización de Google Cloud, es posible que no tenga un propietario. Si no puedes encontrar un propietario para tu proyecto de Firebase, comunícate con la persona que administra tu organización de Google Cloud para asignar un propietario para el proyecto.