Google recomienda que sigas estas prácticas recomendadas cuando administres y ejecutes tu app.
Cómo proteger las claves de API
Necesitas una clave de API para utilizar nuestros servicios en línea. Su uso le permite a Google medir tu uso. Te recomendamos que restrinjas tus claves de API para evitar el uso no autorizado.
Tipos de restricciones de clave de API
Existen dos tipos de restricciones de clave de API y puedes usarlas al mismo tiempo.
Tipo de restricción | Restringe el uso de la clave a |
---|---|
Restricción de API | Una API en particular |
Restricción de aplicaciones | Direcciones IP, sitios web o apps particulares |
Recomendaciones de restricciones de claves de API
Te recomendamos que asignes claves de API independientes para los siguientes casos.
Situación | Recomendación |
---|---|
Tus servidores de juegos de backend llaman a la API de Playable Locations para recuperar las ubicaciones reproducibles. | Configura una clave con dos restricciones:
|
La versión para Android de tu app llama al SDK de Maps para Unity a fin de recuperar datos geográficos. | Configura una clave con una restricción de aplicaciones para permitir llamadas solo desde la versión para Android de tu app. |
La versión para iOS de tu app llama a la API de Maps SDK for Unity para recuperar datos geográficos. | Configura una clave con una restricción de aplicaciones para permitir llamadas solo desde la versión para iOS de tu app. |
Para obtener más información, consulta Prácticas recomendadas sobre la seguridad de la API.
Para configurar restricciones de claves de API
- Visita el panel de credenciales en la consola de Google Cloud.
- Selecciona la clave de API para la que deseas establecer una restricción. Aparecerá la página de propiedades de la clave de API.
- En Restricciones de clave, selecciona la pestaña Restricciones de aplicaciones y, luego, selecciona uno de los cuatro tipos de restricciones de aplicaciones.
Tipo de restricción Descripción URL de referencia HTTP Acepta solicitudes de la lista de sitios web que proporciones. Direcciones IP Acepta solicitudes de la lista de direcciones IP de servidor web que proporciones. Apps para Android Agrega el nombre de tu paquete y la huella digital del certificado de firma SHA-1 a fin de restringir el uso de tu app para Android. Apps para iOS Acepta solicitudes de la app para iOS con el identificador de paquete que proporciones. - En Restricciones de clave, selecciona la pestaña Restricciones de API y, luego, la API a la que deseas restringir tu clave de API.
- Haz clic en Guardar (Save).
Compatibilidad con actualizaciones de claves de API
Asegúrate de contar con la infraestructura necesaria para actualizar las claves de API en toda la pila de entrega. De esa manera, el juego puede recuperarse si se ve comprometida la clave de API y debes renovarla con poca antelación.
Usa claves independientes para cada aplicación, de modo que puedas cambiar fácilmente una clave por una sin afectar a otras apps.
Recomendaciones de seguridad de los servidores de videojuegos
Cuando el servidor de la API de Playable Locations experimenta una interrupción por cualquier motivo, se producen problemas cuando vuelve a estar en línea, es decir, cuando varios servidores de juegos intentan volver a conectarse a él al mismo tiempo. Este aumento de QPS puede enviar al servidor al modo DoS, lo que agrava la situación mediante el bloqueo del tráfico entrante.
A fin de mitigar esta situación, Google te solicita que implementes la retirada exponencial binaria en el servidor de tu juego. Es un enfoque sistemático para separar los reintentos de conexión. Específicamente, implementarás un algoritmo que espera N segundos después de un intento de reconexión con errores antes de volver a intentarlo. Si falla el siguiente intento, tu algoritmo duplica el período de espera y, luego, vuelve a intentarlo. Si falla el siguiente intento, el algoritmo vuelve a duplicar el período de espera y vuelve a intentarlo. Continúas duplicando el período de espera después de cada intento, hasta que el intento final tenga éxito.
Administra códigos de estado de retorno HTTP
Debes implementar la retirada exponencial binaria para algunos códigos de retorno HTTP, pero no para todos.
- años 400
- Estos son errores de cliente que, por lo general, no se recuperan, por lo que reintentar las solicitudes con errores que producen estos códigos de error no funcionará. Debes detectar este tipo de errores durante las pruebas.
- 429
- Este es un error de recurso agotado que se produce cuando comienzas a quedarte sin cuota de API. Para ver los límites de QPS de la API de tu proyecto, visita las Cuotas de las APIs de Google.
- años 500
- Estos son los errores del servidor, el tipo de errores para el que es más útil la retirada exponencial.