获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

Permisos otorgados a una extensión de Firebase

Para que una extensión de Firebase realice sus acciones específicas, Firebase otorga a cada instancia de una extensión instalada acceso limitado a su proyecto y datos a través de una cuenta de servicio .

¿Qué es una cuenta de servicio?

Una cuenta de servicio es un tipo especial de cuenta de usuario de Google. Representa a un usuario no humano que está autorizado para acceder a los datos mediante las API de Google.

Durante la instalación de una extensión, Firebase crea una cuenta de servicio en su proyecto. Cada instancia instalada de una extensión tiene su propia cuenta de servicio.

Firebase limita el acceso a su proyecto y datos mediante la asignación de funciones específicas de la cuenta de servicio de una extensión (paquetes de permisos) . Firebase determina las funciones que requiere una extensión para funcionar durante el desarrollo de la extensión. Durante la instalación, Firebase asigna estas funciones a la cuenta de servicio de una extensión y no debe modificar, agregar ni eliminar ninguna de estas funciones asignadas (de lo contrario, la extensión instalada no funcionará como se espera). Sin embargo, puede desinstalar la extensión , que elimina la cuenta de servicio (y su acceso) por completo.

Las cuentas de servicio creadas para las extensiones tienen el formato: ext- extension-instance-id @ project-id .iam.gserviceaccount.com .

Puede ver todas las cuentas de servicio asociadas con su proyecto de Firebase en la pestaña Cuentas de servicio de su del proyecto .

Permisos y roles

Durante el desarrollo de una extensión, Firebase determina el nivel de acceso que requiere una extensión para funcionar.

Firebase define este nivel de acceso enumerando explícitamente las funciones (paquetes de permisos) que Firebase debe asignar a la cuenta de servicio de la extensión durante la instalación de la extensión.

Cada función (y sus permisos inherentes) se basa en un producto o servicio específico. Algunos ejemplos de funciones son firebasehosting.admin , bigquery.dataEditor y firebasedatabase.admin . Firebase enumera las funciones requeridas para una extensión en el archivo de especificación de la extensión (el archivo extension.yaml ).

Para las extensiones oficiales de Firebase, Firebase revisa minuciosamente esta lista de roles para garantizar que el acceso de una extensión esté estrictamente limitado al alcance de las tareas de la extensión. También puede revisar y confirmar por sí mismo el acceso otorgado a una extensión al ver la página de detalles de la extensión en el panel de Firebase Extensions o al ver su archivo README .

Conozca los permisos incluidos en cada rol:

¿Qué sucede cuando desinstalo una extensión?

Cuando desinstala una extensión de su proyecto, Firebase elimina la cuenta de servicio creada para esa instancia de la extensión. Después de esta eliminación de la cuenta de servicio, la extensión no puede ejecutarse en su proyecto porque ya no tiene ningún derecho de acceso a su proyecto o datos.