View a markdown version of this page

GAMESEC04-BP01 Restreindre l'accès au contenu téléchargeable aux clients et utilisateurs autorisés - 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.

GAMESEC04-BP01 Restreindre l'accès au contenu téléchargeable aux clients et utilisateurs autorisés

Restreignez l'accès au contenu du jeu par les applications et les clients autorisés. Envisagez d'utiliser Amazon S3 comme source rentable et évolutive pour stocker du contenu de jeu téléchargeable et Amazon CloudFront pour fournir du contenu performant aux joueurs à l'échelle mondiale. Les deux services fournissent des mécanismes intégrés pour restreindre l'accès aux données stockées, tels que la restriction de l'accès aux utilisateurs authentifiés.

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

Directives d’implémentation

Autoriser l'accès au contenu stocké dans Amazon S3

Lorsque vous devez autoriser l'accès à du contenu stocké dans S3, plusieurs facteurs doivent être pris en compte. Par défaut, seule la personne Compte AWS qui a créé un compartiment S3 peut accéder aux objets qui y sont stockés. Pour accorder l'accès à vos applications internes et gérer le contenu stocké dans des compartiments Amazon S3, utilisez Gestion des identités et des accès AWS (IAM) pour créer des politiques fournissant un accès approprié. 

Les rôles IAM peuvent être associés à des utilisateurs fédérés, à des systèmes ou à des applications hébergés dans des services, tels qu'Amazon EC2 AWS Lambda, et à des applications basées sur des conteneurs hébergées dans Amazon EKS et Amazon ECS. Par exemple, vous pouvez utiliser le AWS SDK ou AWS CLI publier et gérer des contenus de jeu dans des compartiments S3. Pour prendre en charge ce cas d'utilisation, vous pouvez créer un rôle IAM avec un accès approprié pour lire et écrire du contenu de jeu dans vos compartiments S3 et l'associer aux instances EC2 qui hébergent vos logiciels et vos scripts.

Resource-based des politiques peuvent être définies pour votre compartiment et pour des objets spécifiques. https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.htmlLes politiques de compartiment S3 sont associées à un compartiment S3 et peuvent être utilisées pour restreindre l'accès au compartiment et aux objets qu'il contient, ainsi que pour accorder l'accès à vos ressources Amazon S3 depuis d'autres comptes. Par exemple, dans les scénarios où plusieurs équipes ou studios de développement de jeux distincts travaillent sur le même contenu de jeu et ont besoin du même accès au contenu hébergé de manière centralisée sur Amazon S3, vous pouvez utiliser une politique de compartiment S3 pour définir les autorisations d'accès entre comptes aux ressources S3. Envisagez d'utiliser des points d'accès S3, qui peuvent simplifier la gestion de l'accès aux données partagées en créant des points d'accès dotés de noms et d'autorisations spécifiques à chaque application ou ensemble d'applications. La documentation Amazon S3 contient des bonnes pratiques supplémentaires pour le contrôle d'accès dans Amazon S3.

Granting short-term access to your content

Lorsque l'accès n'est nécessaire que pour une durée limitée, générez des URL temporaires qui autorisent un accès à court terme à votre contenu. Amazon S3 prend en charge la génération d'URL présignées, qui permettent aux propriétaires d'objets d'accorder un accès limité dans le temps aux objets dans Amazon S3 sans mettre à jour votre politique de compartiment. Ainsi, l'utilisateur final ou l'application à qui l'accès est accordé n'est pas tenu de disposer d'un compte ou d'autorisations IAM et utilise plutôt l'URL présignée pour accéder au contenu. 

Il s'agit d'une bonne pratique couramment utilisée dans de nombreux cas d'utilisation de jeux, par exemple en permettant aux joueurs autorisés d'accéder au contenu téléchargeable auquel ils ont eu droit et en fournissant un accès temporaire à du contenu de jeu à durée limitée. Les URL présignées peuvent également être utilisées pour fournir des autorisations temporaires pour le téléchargement de contenu vers un compartiment S3. Par exemple, vous pouvez envisager d'utiliser une URL présignée pour permettre à un joueur d'accéder au téléchargement des journaux clients afin d'aider votre équipe d'assistance à résoudre un problème d'assistance aux joueurs.

Utilisation d'un réseau de diffusion de contenu pour donner accès à votre contenu

Bien que vos applications, les développeurs de jeux, les artistes et les autres membres du personnel puissent avoir besoin d'un accès direct au contenu des compartiments S3 à des fins de développement et de gestion, utilisez un réseau de diffusion de contenu pour donner accès au contenu accessible au public aux joueurs ou à d'autres utilisateurs sur Internet. Cette approche améliore les performances de téléchargement et réduit les coûts en mettant en cache le contenu fréquemment consulté. Amazon CloudFront peut diffuser votre contenu dans le monde entier en le mettant en cache et en le diffusant au plus près de vos joueurs, tout en réduisant la charge sur l'origine des téléchargements de votre jeu, comme Amazon S3.

Plutôt que de diffuser votre contenu public directement à partir de compartiments S3, il est recommandé de préserver la confidentialité de ce contenu et de le diffuser publiquement en utilisant CloudFront. CloudFront peut être configuré pour obliger les joueurs à accéder à votre contenu privé (comme le téléchargement d'un nouveau jeu réservé aux joueurs payants) en utilisant des URL signées ou des cookies signés. Vous pouvez ensuite développer votre application soit pour créer et distribuer des URL signées aux utilisateurs authentifiés, soit pour envoyer des en-têtes set-cookies qui définissent des cookies signés pour les utilisateurs authentifiés. Lorsque vous créez des URL signées ou des cookies signés pour contrôler l'accès à vos fichiers, vous pouvez spécifier une date et une heure de fin, après quoi l'URL et les cookies ne sont plus valides. 

En option, vous pouvez également spécifier l'adresse IP ou la plage d'adresses des ordinateurs qui peuvent être utilisés pour accéder à votre contenu, ce qui est utile si vous souhaitez restreindre l'accès à des studios de développement de jeux ou à des réseaux de sous-traitants spécifiques. Utilisez des cookies signés lorsque vous souhaitez donner accès à plusieurs fichiers restreints ou si vous ne souhaitez pas modifier vos URL actuelles. Utilisez des URL signées lorsque vous souhaitez restreindre l'accès à des fichiers individuels ou si vos utilisateurs utilisent un client qui ne prend pas en charge les cookies. Les URL signées ont priorité sur les cookies signés.

Étapes d’implémentation

  • Utilisez les rôles IAM et les politiques de compartiment pour accorder un accès approprié aux compartiments S3 pour les applications internes, les équipes ou les scénarios multicomptes.

  • Générez des URL présignées pour accorder un accès de courte durée aux objets S3, adaptées au contenu téléchargeable ou aux téléchargements temporaires tels que les journaux des clients.

  • Utilisez Amazon CloudFront avec des URL signées ou des cookies pour diffuser du contenu privé de manière plus sécurisée aux utilisateurs authentifiés