Descubre las novedades de Firebase en Google I/O 2022. Más información

Más información sobre el uso y la administración de claves de API para Firebase

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Una clave API es una cadena única que se usa para enrutar solicitudes a su proyecto de Firebase cuando interactúa con los servicios de Firebase y Google. En esta página, se describe información básica sobre las claves de API, así como las prácticas recomendadas para usar y administrar claves de API con aplicaciones de Firebase.

Información general sobre claves API y Firebase

Las claves de API para Firebase son diferentes de las claves de API típicas

A diferencia de cómo se usan normalmente las claves de API, las claves de API para los servicios de Firebase no se usan para controlar el acceso a los recursos de back-end ; eso solo se puede hacer con las reglas de seguridad de Firebase (para controlar qué usuarios pueden acceder a los recursos) y App Check (para controlar qué aplicaciones pueden acceder a los recursos).

Por lo general, debe proteger minuciosamente las claves API (por ejemplo, mediante el uso de un servicio de bóveda o configurando las claves como variables de entorno); sin embargo, las claves de API para los servicios de Firebase se pueden incluir en el código o en los archivos de configuración registrados.

Si bien es seguro incluir claves de API para los servicios de Firebase en el código, hay algunos casos específicos en los que debe aplicar límites para su clave de API; por ejemplo, si usa Firebase ML, Firebase Authentication con el método de inicio de sesión de correo electrónico/contraseña o una API facturable de Google Cloud. Obtenga más información sobre estos casos más adelante en esta página.

Creación de claves API

Un proyecto de Firebase puede tener muchas claves de API, pero cada clave de API solo se puede asociar con un único proyecto de Firebase.

Claves de API creadas automáticamente por Firebase para sus aplicaciones de Firebase

Firebase crea automáticamente claves de API para su proyecto cuando realiza cualquiera de las siguientes acciones:

  • Crear un proyecto de Firebase > Browser key creada automáticamente
  • Cree una aplicación Apple de Firebase > iOS key creada automáticamente
  • Crear una aplicación Firebase para Android > Android key de Android creada automáticamente

También puede crear sus propias claves de API en Google Cloud Console , por ejemplo, para desarrollo o depuración . Obtenga más información sobre cuándo se podría recomendar esto más adelante en esta página.

Encontrar sus claves API

Puede ver y administrar todas las claves de API de su proyecto en el panel API y servicios > Credenciales en Google Cloud Console.

También puede encontrar qué clave de API se asocia automáticamente con una aplicación de Firebase en los siguientes lugares. De forma predeterminada, todas las aplicaciones de Firebase de su proyecto para la misma plataforma (Apple vs Android vs Web) usarán la misma clave de API.

  • Firebase Apple Apps : busque la clave API de coincidencia automática de una aplicación en el archivo de configuración de Firebase, GoogleService-Info.plist , en el campo API_KEY .

  • Aplicaciones Android de Firebase : busque la clave API de coincidencia automática de una aplicación en el archivo de configuración de Firebase, google-services.json , en el campo current_key .

  • Firebase Web Apps : busque la clave API de coincidencia automática de una aplicación en el objeto de configuración de Firebase, en el campo apiKey .

Uso de una clave API

Las claves API se utilizan para identificar su proyecto de Firebase cuando interactúa con los servicios de Firebase/Google. Específicamente, se usan para asociar solicitudes de API con su proyecto para cuota y facturación. También son útiles para acceder a datos públicos.

Por ejemplo, puede usar explícitamente una clave API pasando su valor a una llamada API REST como parámetro de consulta. Este ejemplo muestra cómo puede realizar una solicitud a la API de acortador de enlaces de Dynamic Links :

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY

Cuando su aplicación realiza una llamada a una API de Firebase, su aplicación buscará automáticamente en el archivo/objeto de configuración de Firebase la clave de API de su proyecto. Sin embargo, puede configurar sus claves API utilizando un mecanismo diferente, incluidas las variables de entorno.

Aplicar restricciones a las claves API (recomendado)

Si bien no es necesario tratar una clave de API para los servicios de Firebase como un secreto, existen algunos casos específicos (consulte a continuación) en los que es posible que desee tomar medidas adicionales para proteger su proyecto del uso indebido de la clave de API.

Reduzca la cuota si utiliza autenticación basada en contraseña

Si utiliza la autenticación de Firebase basada en contraseña y alguien obtiene su clave de API, no podrá acceder a ninguna base de datos de su proyecto de Firebase ni a los datos de almacenamiento en la nube , siempre que estos datos estén protegidos por las reglas de seguridad de Firebase . Sin embargo, podrían usar su clave API para acceder a los puntos finales de autenticación de Firebase y realizar solicitudes de autenticación en su proyecto.

Para mitigar la posibilidad de que alguien pueda hacer un uso indebido de una clave de API para intentar un ataque de fuerza bruta, puede ajustar la cuota predeterminada de los puntos finales de identitytoolkit.googleapis.com para reflejar las expectativas de tráfico normales de su aplicación. Tenga en cuenta que si ajusta esta cuota y su aplicación gana usuarios repentinamente, es posible que obtenga errores de inicio de sesión hasta que aumente la cuota. Puede cambiar las cuotas de API de su proyecto en Google Cloud Console .

Use claves de API restringidas separadas para tipos específicos de API

Si bien las claves de API que se usan para los servicios de Firebase generalmente no necesitan tratarse como secretas, debe tomar algunas precauciones adicionales con las claves de API que se usan para otorgar acceso a las API de Google Cloud que habilitó manualmente.

Si usa una API de Google Cloud (en cualquier plataforma) que Firebase no habilite automáticamente (lo que significa que usted mismo la habilitó), debe considerar crear claves de API restringidas separadas para usar con esas API. Esto es particularmente importante si la API es para un servicio facturable de Google Cloud.

Por ejemplo, si usa las API de Cloud Vision de Firebase ML en iOS, debe crear claves de API separadas que use solo para acceder a las API de Cloud Vision.

Al usar claves de API restringidas separadas para las API que no son de Firebase, puede rotar o reemplazar las claves cuando sea necesario y agregar restricciones adicionales a las claves de API sin interrumpir su uso de los servicios de Firebase.

Usar claves de API específicas del entorno (recomendado)

Si configura diferentes proyectos de Firebase para diferentes entornos, como ensayo y producción, es importante que cada instancia de la aplicación interactúe con su proyecto de Firebase correspondiente. Por ejemplo, la instancia de su aplicación de prueba nunca debe comunicarse con su proyecto de producción de Firebase. Esto también significa que su aplicación de prueba debe usar claves de API asociadas con su proyecto de prueba de Firebase.

Para reducir los problemas de promoción de cambios de código desde el desarrollo hasta la etapa de producción, en lugar de incluir claves de API en el propio código, configúrelas como variables de entorno o inclúyalas en un archivo de configuración.

Tenga en cuenta que si usa Firebase Local Emulator Suite para el desarrollo junto con Firebase ML, debe crear y usar una clave API de solo depuración. Las instrucciones para crear ese tipo de clave se encuentran en los documentos de Firebase ML .

preguntas frecuentes