View a markdown version of this page

GAMESEC04-BP01 Restrinja o acesso de conteúdo para download a clientes e usuários autorizados - Lentes da indústria de jogos

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

GAMESEC04-BP01 Restrinja o acesso de conteúdo para download a clientes e usuários autorizados

Restrinja o acesso ao conteúdo do jogo por aplicativos e clientes autorizados. Considere usar o Amazon S3 como uma origem econômica e escalável para armazenar conteúdo de jogos para download e a Amazon para fornecer entrega de conteúdo com desempenho global CloudFront aos jogadores. Ambos os serviços fornecem mecanismos integrados para restringir o acesso aos dados armazenados, como restringir o acesso a usuários autenticados.

Nível de risco exposto se esta prática recomendada não for estabelecida: Alto

Orientação para implementação

Conceder acesso ao conteúdo armazenado no Amazon S3

Quando você precisa conceder acesso ao conteúdo armazenado no S3, há vários fatores a serem considerados. Por padrão, somente quem Conta da AWS criou um bucket do S3 pode acessar os objetos armazenados nele. Para conceder acesso aos seus aplicativos internos e gerenciar o conteúdo armazenado nos buckets do Amazon S3, use AWS Identity and Access Management (IAM) para criar políticas que forneçam o acesso apropriado. 

As funções do IAM podem ser associadas a usuários, sistemas ou aplicativos federados hospedados em serviços, como o Amazon EC2 AWS Lambda, e aplicativos baseados em contêineres hospedados no Amazon EKS e no Amazon ECS. Por exemplo, você pode usar o AWS SDK ou AWS CLI publicar e gerenciar ativos de conteúdo de jogos em buckets do S3. Para dar suporte a esse caso de uso, você pode criar uma função do IAM com acesso apropriado para ler e gravar conteúdo do jogo em seus buckets do S3 e associá-la às instâncias do EC2 que hospedam seu software e scripts.

Resource-based as políticas podem ser definidas para seu bucket e para objetos específicos. https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.htmlAs políticas de bucket do S3 estão associadas a um bucket do S3 e podem ser usadas para restringir o acesso ao bucket e aos objetos dentro dele, bem como conceder acesso aos seus recursos do Amazon S3 a partir de outras contas. Por exemplo, em cenários em que várias equipes ou estúdios de desenvolvimento de jogos diferentes estão trabalhando no mesmo conteúdo de jogo e exigem o mesmo acesso ao conteúdo hospedado centralmente no Amazon S3, você pode usar uma política de bucket do S3 para definir permissões para acesso entre contas aos recursos do S3. Considere usar pontos de acesso S3, que podem simplificar o gerenciamento do acesso aos dados compartilhados criando pontos de acesso com nomes e permissões específicos para cada aplicativo ou conjunto de aplicativos. A documentação do Amazon S3 contém melhores práticas adicionais para controle de acesso no Amazon S3.

Granting short-term access to your content

Quando o acesso for necessário apenas por um tempo limitado específico, gere URLs temporários que concedam acesso de curto prazo ao seu conteúdo. O Amazon S3 fornece suporte para gerar URLs pré-assinadas, que permitem que proprietários de objetos concedam acesso limitado a objetos no Amazon S3 sem atualizar sua política de bucket. Ao fazer isso, o usuário final ou aplicativo que está recebendo acesso não precisa ter uma conta ou permissões do IAM e, em vez disso, usa a URL pré-assinada para acessar o conteúdo. 

Essa é uma prática recomendada comumente usada em vários casos de uso de jogos, como conceder aos jogadores autorizados acesso ao conteúdo para download ao qual eles têm direito e fornecer acesso temporário ao conteúdo do jogo por tempo limitado. URLs pré-assinados também podem ser usados para fornecer permissões temporárias para carregar conteúdo em um bucket do S3. Por exemplo, você pode considerar usar uma URL pré-assinada para fornecer a um jogador acesso ao upload dos registros do cliente para ajudar sua equipe de suporte a solucionar um caso de suporte ao jogador.

Usando uma rede de entrega de conteúdo para fornecer acesso ao seu conteúdo

Embora seus aplicativos, desenvolvedores de jogos, artistas e outros funcionários possam precisar de acesso direto ao conteúdo nos buckets do S3 para fins de desenvolvimento e gerenciamento, use uma rede de entrega de conteúdo para fornecer acesso ao conteúdo que está disponível publicamente para jogadores ou outros usuários pela Internet. Essa abordagem melhora o desempenho do download e reduz os custos armazenando em cache o conteúdo acessado com frequência. A Amazon CloudFront pode distribuir globalmente seu conteúdo armazenando-o em cache e entregando-o mais perto de seus jogadores, ao mesmo tempo em que reduz a carga na origem do download do seu jogo, como o Amazon S3.

Em vez de veicular seu conteúdo público diretamente dos buckets do S3, é recomendável manter esse conteúdo privado e veiculá-lo publicamente usando. CloudFront CloudFront pode ser configurado para exigir que os jogadores acessem seu conteúdo privado (como o download de um novo jogo somente para jogadores pagos) usando URLs assinados ou cookies https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-signed-cookies.html assinados. Em seguida, você pode desenvolver seu aplicativo para criar e distribuir URLs assinadas para usuários autenticados ou para enviar cabeçalhos set-cookie que definem cookies assinados para usuários autenticados. Ao criar URLs assinadas ou cookies assinados para controlar o acesso aos seus arquivos, você pode especificar uma data e hora de término, após as quais a URL e os cookies não são mais válidos. 

Opcionalmente, você também pode especificar o endereço IP ou o intervalo de endereços dos computadores que podem ser usados para acessar seu conteúdo, o que é útil se você quiser restringir o acesso a parceiros específicos de estúdios de desenvolvimento de jogos ou redes de prestadores de serviços. Use cookies assinados quando quiser fornecer acesso a vários arquivos restritos ou se não quiser alterar seus URLs atuais. Use URLs assinadas quando quiser restringir o acesso a arquivos individuais ou se seus usuários estiverem usando um cliente que não suporta cookies. Signed URLs têm precedência sobre signed cookies.

Etapas de implementação

  • Use funções e políticas de bucket do IAM para conceder acesso adequado aos buckets do S3 para aplicativos internos, equipes ou cenários entre contas.

  • Gere URLs pré-assinados para conceder acesso de curto prazo a objetos do S3, adequados para conteúdo para download ou uploads temporários, como registros de clientes.

  • Use a Amazon CloudFront com URLs ou cookies assinados para veicular conteúdo privado com mais segurança para usuários autenticados