View a markdown version of this page

GAMESEC03-BP02 Autentica las solicitudes que se envían a tu servicio de backend de juegos - Lente de la industria de juegos

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

GAMESEC03-BP02 Autentica las solicitudes que se envían a tu servicio de backend de juegos

La autenticación de las solicitudes que se envían al servicio de backend de tu juego puede impedir que las solicitudes no deseadas se ejecuten correctamente.

Nivel de riesgo expuesto si no se establece esta práctica recomendada: alto

Guía para la implementación

Debes proporcionar un servicio de autenticación para que los jugadores inicien sesión, que devuelva al cliente del juego fichas seguras de corta duración, como un JSON Web Token (JWT), cuando un jugador se autentica correctamente.

Estos símbolos pueden incluir afirmaciones sobre las reclamaciones que contengan los atributos del jugador y otros metadatos relevantes. Estos metadatos relevantes se pueden usar en solicitudes posteriores que se envíen desde el cliente del juego al backend del juego para autenticar las solicitudes y autorizarlas en el contexto del jugador autenticado. 

Tiene la opción de diseñar y crear su propio sistema de autenticación de jugadores, lo que requeriría mejoras y mantenimiento continuos, o puede utilizar las funciones escalables y seguras de registro de usuarios, inicio de sesión y control de acceso que ofrece Amazon Cognito.

Los grupos de usuarios de Amazon Cognito incluyen un directorio de usuarios para la autenticación y la autorización. Un grupo de usuarios permite APIs integrarlos en el juego para los flujos de trabajo de registro, inicio de sesión y restablecimiento de contraseñas, que se pueden integrar con proveedores de identidad de terceros. Tanto Application Load Balancers como Amazon API Gateway ofrecen integraciones con Cognito para integrar la autenticación de usuario en las solicitudes enviadas a sus backends de juegos personalizados alojados con estos servicios.

Si su juego admite el acceso anónimo y no puede autenticar a un jugador, puede utilizar un enfoque de autenticación de cliente para ofrecer una experiencia más segura al integrarlo con el backend del juego. Si el cliente de tu juego usa AWS los servicios directamente, las solicitudes a estos servicios deben firmarse con credenciales. Para proporcionar credenciales al cliente del juego a los usuarios no autenticados, puede usar el AWS SDK para recuperar credenciales efímeras de los grupos de identidades de Amazon Cognito que se pueden usar para firmar sus solicitudes de servicios. AWS Estas credenciales se pueden actualizar desde el cliente del juego. 

Además de integrarte directamente con el AWS SDK desde el cliente del juego, también puedes crear tu propio backend del juego mediante un servicio como Amazon API Gateway, que admite la autorización personalizada. Al diseñar tu propio servicio de back-end de juegos, puedes obtener un control autoritario sobre las solicitudes con una lógica personalizada del lado del servidor. 

Para obtener más información sobre cómo crear un servicio de back-end para juegos alojados en Amazon GameLift, consulta Diseña tu servicio de cliente de juegos.

Ejemplo de cliente

AnyCompany Los juegos mejoraron la seguridad de su próximo título al adoptar un enfoque de autenticación y autorización gestionadas. En lugar de mantener un sistema personalizado de nombre de usuario y contraseña, utilizaron grupos de usuarios de Amazon Cognito para gestionar el registro e inicio de sesión de los jugadores, y grupos de identidades para permitir el acceso anónimo a los jugadores que probaban el modo de entrenamiento antes de crear una cuenta. También implementaron una lógica de autorización personalizada en el juego para reconocer las funciones de administrador definidas en Cognito, lo que permitió a los usuarios acceder a funciones de administración especiales del juego.

Pasos para la implementación

  • Utilice los grupos de usuarios de Amazon Cognito para gestionar la autenticación con tokens seguros, por ejemplo JWTs, habilitando funciones como el registro, el inicio de sesión y el restablecimiento de contraseñas.

  • Recupere credenciales efímeras de los grupos de identidades de Amazon Cognito para que los usuarios anónimos puedan interactuar de forma segura con AWS los servicios.

  • Implemente backends de juegos personalizados mediante Amazon API Gateway para lograr una lógica de autenticación personalizada del lado del servidor.