View a markdown version of this page

GAMESEC03-BP02 Authentifiez les demandes envoyées au service backend de votre jeu - Lens de l'industrie du jeu

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

GAMESEC03-BP02 Authentifiez les demandes envoyées au service backend de votre jeu

Les demandes d'authentification envoyées au service principal de votre jeu peuvent empêcher le succès des demandes indésirables.

Niveau d’exposition au risque si cette bonne pratique n’est pas respectée : élevé

Directives d’implémentation

Vous devez fournir un service d'authentification permettant aux joueurs de se connecter, qui devrait renvoyer des jetons sécurisés à courte durée de vie, tels qu'un jeton Web JSON (JWT), au client du jeu lorsqu'un joueur s'authentifie avec succès.

Ces jetons peuvent inclure des assertions de revendications contenant les attributs du joueur et d'autres métadonnées pertinentes. Ces métadonnées pertinentes peuvent être utilisées dans les demandes ultérieures envoyées par le client du jeu au backend de votre jeu pour authentifier les demandes et les autoriser dans le contexte du joueur authentifié. 

Vous pouvez soit concevoir et créer votre propre système d'authentification des joueurs, qui nécessiterait une amélioration et une maintenance continues, soit utiliser les fonctionnalités évolutives et sécurisées d'inscription, de connexion et de contrôle d'accès des utilisateurs fournies par Amazon Cognito.

Les groupes d'utilisateurs Amazon Cognito incluent un répertoire d'utilisateurs pour l'authentification et l'autorisation. Un groupe d'utilisateurs fournit des API que vous pouvez intégrer à votre jeu pour les flux de travail d'inscription, de connexion et de réinitialisation de mot de passe, qui peuvent être intégrées à des fournisseurs d'identité tiers. Application Load Balancers et Amazon API Gateway proposent tous deux des intégrations avec Cognito afin d'intégrer l'authentification des utilisateurs pour les demandes envoyées à vos backends de jeu personnalisés hébergés par ces services.

Si votre jeu prend en charge l'accès anonyme et que vous ne pouvez pas authentifier un joueur, vous pouvez utiliser une approche d'authentification client pour offrir une expérience plus sécurisée lors de l'intégration à votre backend de jeu. Si votre client de jeu utilise directement des AWS services, les demandes adressées à ces services doivent être signées à l'aide d'informations d'identification. Pour fournir des informations d'identification à votre client de jeu pour les utilisateurs non authentifiés, vous pouvez utiliser le AWS SDK pour récupérer des informations d'identification éphémères à partir des pools d'identités Amazon Cognito, qui peuvent être utilisées pour signer vos demandes aux services. AWS Ces informations d'identification peuvent être actualisées depuis votre client de jeu. 

Outre l'intégration directe au AWS SDK depuis le client du jeu, vous pouvez également créer votre propre backend de jeu à l'aide d'un service tel qu'Amazon API Gateway, qui prend en charge les autorisations personnalisées. En concevant votre propre service de backend de jeu, vous pouvez exercer un contrôle autoritaire sur les requêtes grâce à une logique personnalisée côté serveur. 

Pour plus d'informations sur la création d'un service backend pour les jeux hébergés sur Amazon GameLift, consultez Conception du service client de votre jeu.

Exemple client

AnyCompany Games a renforcé la sécurité de son prochain titre en adoptant une approche gérée d'authentification et d'autorisation. Au lieu de gérer un système de nom d'utilisateur et de mot de passe personnalisé, ils ont utilisé les groupes d'utilisateurs Amazon Cognito pour gérer l'inscription et la connexion des joueurs, et les pools d'identités pour permettre un accès anonyme aux joueurs qui essayaient le mode entraînement avant de créer un compte. Ils ont également implémenté une logique d'autorisation personnalisée dans le jeu pour reconnaître les rôles d'administrateur définis dans Cognito, permettant ainsi à ces utilisateurs d'accéder à des fonctionnalités de gestion spéciales dans le jeu.

Étapes d’implémentation

  • Utilisez les groupes d'utilisateurs Amazon Cognito pour gérer l'authentification à l'aide de jetons sécurisés tels que les JWT, en activant des fonctionnalités telles que l'inscription, la connexion et la réinitialisation des mots de passe.

  • Récupérez des informations d'identification éphémères à partir des pools d'identités Amazon Cognito pour permettre aux utilisateurs anonymes d'interagir en toute sécurité avec AWS les services.

  • Implémentez des backends de jeu personnalisés à l'aide d'Amazon API Gateway pour une logique d'authentification personnalisée côté serveur.