La Administración de identidades y accesos (IAM) te permite otorgar acceso detallado a recursos específicos de Firebase y Google, y evita el acceso no deseado a otros recursos. La IAM te permite adoptar el principio de seguridad de privilegio mínimo, de manera que solo otorgues el acceso necesario a tus recursos.
Para obtener una descripción detallada de esta función, consulta la documentación de Google Cloud IAM.
Descripción general de Firebase IAM
Firebase ofrece opciones de IAM adicionales específicas para los proyectos de la plataforma y tus miembros.
Cuando un miembro del proyecto autenticado solicita una acción en Firebase, la IAM decide la autorización según los permisos que posee el usuario para realizar la operación solicitada en el recurso. La autorización de un miembro del proyecto para ejecutar una solicitud depende del rol que tenga asignado. Los roles son conjuntos de permisos, por lo que, cuando le asignas uno a un miembro del proyecto, le otorgas todos los permisos que este conlleva.
Miembros del proyecto
Con Firebase IAM, puedes asignarles roles (y los permisos que conllevan) a tus miembros del proyecto. Los miembros del proyecto se pueden clasificar en los siguientes tipos:
- Cuenta de Google
- Cuenta de servicio
- Grupo de Google
Roles
Los permisos se otorgan a los miembros de los proyectos a través de las funciones. Un rol es un conjunto de permisos y cuando asignas uno a un miembro del proyecto, le otorgas todos los permisos que este conlleva.
Firebase IAM admite los siguientes tipos de roles:
Funciones básicas: Son funciones fundamentales de Propietario, Editor y Visualizador.
Funciones predefinidas: Son funciones exclusivas de Firebase que permiten controlar el acceso de manera más detallada que las funciones básicas. Firebase ofrece lo siguiente:
Funciones a nivel de Firebase: Son funciones que otorgan acceso completo de lectura/escritura o de solo lectura a todos los productos de Firebase.
Funciones de categoría de producto: Funciones que otorgan acceso completo de lectura y escritura o de solo lectura a grupos de productos. Se estructuran en torno a Google Analytics y categorías de productos generales.
Funciones a nivel de producto: Funciones que otorgan acceso completo de lectura y escritura o de solo lectura a productos específicos de Firebase.
Funciones personalizadas: Son funciones de Firebase completamente personalizadas que puedes crear para adaptar un conjunto de permisos que cumplen con los requisitos específicos de tu organización.
Latencia del cambio de rol
Si cambias el rol asignado a un miembro del proyecto, el cambio podría tardar hasta 5 minutos en aplicarse.
Administra los miembros del proyecto y sus roles
Consulta los miembros del proyecto y sus roles
Puedes revisar 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. Debes tener en cuenta lo siguiente:- Firebase console solo enumera los miembros del proyecto con un rol básico (propietario, editor o visualizador) o con uno predefinido de Firebase. Los miembros que aparecen en esta pestaña son los únicos que tienen acceso al proyecto de Firebase en Firebase console.
- Firebase console no muestra los miembros del proyecto que son cuentas de servicio. Consulta estos miembros del proyecto en la página de IAM de Google Cloud Console.
Asigna un rol a un miembro del proyecto
Para administrar los roles que se asignaron a cada miembro, debes ser propietario del proyecto de
Firebase (o tener un rol con el permiso
resourcemanager.projects.setIamPolicy
).
Los siguientes son los lugares en los que puedes asignar y administrar roles:
- Firebase console ofrece una manera simplificada de asignar roles a los miembros del proyecto en la pestaña Usuarios y permisos de > Configuración del proyecto. Además, en Firebase console puedes asignar cualquiera de los roles básicos (propietario, editor o visualizador), los roles de administrador o visualizador de Firebase o cualquiera de los roles predefinidos de Firebase por categoría de producto.
- La consola de Google Cloud dispone de un amplio conjunto de herramientas para asignar roles a los miembros del proyecto
en la
página de IAM. En la consola de Cloud, también puedes crear
y administrar
roles personalizados, y otorgar a tus cuentas de servicio acceso al proyecto.
Ten en cuenta que, en Google Cloud Console, los miembros del proyecto se denominan principales.
Si el propietario del proyecto ya no puede realizar sus tareas correspondientes (por ejemplo, esa persona ya no trabaja en la empresa) y tu proyecto no se administra mediante una organización de Google Cloud (consulta el siguiente párrafo), puedes comunicarte con el equipo de asistencia de Firebase para asignar un propietario temporal.
Debes considerar que si un proyecto de Firebase es parte de una organización de Google Cloud, es posible que no tenga un propietario. Si no encuentras un propietario para tu proyecto de Firebase, comunícate con la persona que administra tu organización de Google Cloud a fin de asignarle un propietario al proyecto.