Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
GAMESEC04-BP01 Limita l'accesso ai contenuti scaricabili a client e utenti autorizzati
Limita l'accesso ai contenuti di gioco da parte di applicazioni e client autorizzati. Prendi in considerazione l'idea di utilizzare Amazon S3 come origine economica e scalabile per l'archiviazione di contenuti di gioco scaricabili e CloudFront Amazon per fornire ai giocatori una distribuzione di contenuti performante a livello globale. Entrambi i servizi forniscono meccanismi integrati per limitare l'accesso ai dati archiviati, ad esempio l'accesso agli utenti autenticati.
Livello di rischio associato se questa best practice non fosse adottata: elevato
Guida all’implementazione
Concessione dell'accesso ai contenuti archiviati in Amazon S3
Quando devi concedere l'accesso ai contenuti archiviati in S3, ci sono diversi fattori da considerare. Per impostazione predefinita, solo chi Account AWS ha creato un bucket S3 può accedere agli oggetti memorizzati al suo interno. Per concedere l'accesso alle tue applicazioni interne e gestire i contenuti archiviati nei bucket Amazon S3, usa AWS Identity and Access Management (IAM) per creare policy che forniscano un accesso appropriato.
I ruoli IAM possono essere associati a utenti, sistemi o applicazioni federati ospitati in servizi, come Amazon EC2 AWS Lambda, e applicazioni basate su contenitori ospitate in Amazon EKS e Amazon ECS. Ad esempio, puoi utilizzare l' AWS SDK o pubblicare e gestire risorse di contenuti AWS CLI di gioco nei bucket S3. Per supportare questo caso d'uso, puoi creare un ruolo IAM con accesso appropriato per leggere e scrivere contenuti di gioco nei tuoi bucket S3 e associarli alle EC2 istanze che ospitano il software e gli script.
È possibile definire politiche basate sulle risorse per il bucket e per oggetti specifici. Le policy dei bucket S3 sono associate a un bucket S3 e possono essere utilizzate per limitare l'accesso al bucket e agli oggetti al suo interno, nonché per concedere l'accesso alle risorse Amazon S3 da altri account. Ad esempio, in scenari in cui più team o diversi studi di sviluppo di giochi lavorano sugli stessi contenuti di gioco e richiedono lo stesso accesso ai contenuti ospitati centralmente in Amazon S3, puoi utilizzare una policy sui bucket S3 per definire le autorizzazioni per l'accesso tra account alle risorse S3. Prendi in considerazione l'utilizzo dei punti di accesso S3, che possono semplificare la gestione dell'accesso ai dati condivisi creando punti di accesso con nomi e autorizzazioni specifici per ogni applicazione o set di applicazioni. La documentazione di Amazon S3 contiene best practice aggiuntive per il controllo degli accessi in Amazon S3.
Granting short-term access to your content
Quando l'accesso è necessario solo per uno specifico periodo di tempo limitato, crea un programma temporaneo URLs che garantisca l'accesso a breve termine ai tuoi contenuti. Amazon S3 fornisce supporto per la generazione di oggetti predefiniti URLs, che consentono ai proprietari degli oggetti di concedere un accesso limitato nel tempo agli oggetti in Amazon S3 senza aggiornare la policy sui bucket. In questo modo, l'utente finale o l'applicazione a cui viene concesso l'accesso non deve disporre di un account o di autorizzazioni IAM e utilizza invece l'URL predefinito per accedere al contenuto.
Si tratta di una procedura consigliata comunemente utilizzata in diversi casi d'uso dei giochi, ad esempio per concedere ai giocatori autorizzati l'accesso ai contenuti scaricabili a cui hanno diritto e fornire un accesso temporaneo ai contenuti di gioco per un periodo di tempo limitato. Presigned URLs può essere utilizzato anche per fornire autorizzazioni temporanee per il caricamento di contenuti in un bucket S3. Ad esempio, potresti prendere in considerazione l'utilizzo di un URL predefinito per fornire a un giocatore l'accesso per caricare i log dei client per aiutare il tuo team di supporto nella risoluzione di un caso di assistenza.
Utilizzare una rete di distribuzione dei contenuti per fornire l'accesso ai contenuti
Sebbene le applicazioni, gli sviluppatori di giochi, gli artisti e altro personale possano aver bisogno dell'accesso diretto ai contenuti dei bucket S3 per scopi di sviluppo e gestione, utilizza una rete di distribuzione dei contenuti per fornire l'accesso ai contenuti disponibili pubblicamente ai giocatori o ad altri utenti su Internet. Questo approccio migliora le prestazioni di download e riduce i costi memorizzando nella cache i contenuti a cui si accede di frequente. Amazon CloudFront può distribuire i tuoi contenuti a livello globale memorizzandoli nella cache e distribuendoli più vicino ai giocatori, riducendo al contempo il carico sull'origine di download del gioco, come Amazon S3.
Anziché distribuire i contenuti pubblici direttamente dai bucket S3, ti consigliamo di mantenerli privati e di pubblicarli pubblicamente utilizzando. CloudFront CloudFront può essere configurato per richiedere ai giocatori di accedere ai tuoi contenuti privati (ad esempio il download di un nuovo gioco solo per giocatori a pagamento) utilizzando cookie firmati URLs o firmati. Puoi quindi sviluppare l'applicazione per creare e distribuire cookie firmati URLs per utenti autenticati o per inviare intestazioni set-cookie che impostano cookie firmati per utenti autenticati. Quando crei cookie firmati URLs o firmati per controllare l'accesso ai tuoi file, puoi specificare una data e un'ora di fine, dopo le quali l'URL e i cookie non sono più validi.
Facoltativamente, puoi anche specificare l'indirizzo IP o l'intervallo di indirizzi dei computer che possono essere utilizzati per accedere ai tuoi contenuti, il che è utile se desideri limitare l'accesso a specifici partner di studi di sviluppo di giochi o reti di appaltatori. Utilizza i cookie firmati quando desideri fornire l'accesso a più file con restrizioni o se non desideri modificare quelli correnti. URLs Utilizza signed URLs quando desideri limitare l'accesso a singoli file o se gli utenti utilizzano un client che non supporta i cookie. I cookie firmati URLs hanno la precedenza sui cookie firmati.
Passaggi dell’implementazione
-
Utilizza i ruoli IAM e le policy relative ai bucket per concedere l'accesso appropriato ai bucket S3 per applicazioni interne, team o scenari che coinvolgono più account.
-
Genera impostazioni predefinite URLs per garantire l'accesso a breve termine agli oggetti S3, adatte per contenuti scaricabili o caricamenti temporanei come i log dei clienti.
-
Usa Amazon CloudFront con cookie firmati URLs o firmati per fornire in modo più sicuro contenuti privati agli utenti autenticati