View a markdown version of this page

GAMESEC04-BP01 Beschränken Sie den Zugriff auf herunterladbare Inhalte auf autorisierte Kunden und Benutzer - Linse für die Spieleindustrie

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

GAMESEC04-BP01 Beschränken Sie den Zugriff auf herunterladbare Inhalte auf autorisierte Kunden und Benutzer

Beschränken Sie den Zugriff auf Spielinhalte durch autorisierte Anwendungen und Clients. Erwägen Sie die Verwendung von Amazon S3 als kostengünstigen und skalierbaren Speicherort für herunterladbare Spielinhalte und Amazon CloudFront, um Spielern eine weltweit leistungsstarke Inhaltsbereitstellung zu bieten. Beide Dienste bieten integrierte Mechanismen zur Beschränkung des Zugriffs auf gespeicherte Daten, z. B. die Beschränkung des Zugriffs auf authentifizierte Benutzer.

Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: Hoch

Implementierungsleitfaden

Zugriff auf Inhalte gewähren, die in Amazon S3 gespeichert sind

Wenn Sie Zugriff auf Inhalte gewähren müssen, die in S3 gespeichert sind, müssen Sie mehrere Faktoren berücksichtigen. Standardmäßig kann nur derjenige AWS-Konto , der einen S3-Bucket erstellt hat, auf die darin gespeicherten Objekte zugreifen. Um Zugriff auf Ihre internen Anwendungen zu gewähren und in Amazon S3 S3-Buckets gespeicherte Inhalte zu verwalten, verwenden Sie AWS Identity and Access Management (IAM), um Richtlinien zu erstellen, die den entsprechenden Zugriff ermöglichen. 

IAM-Rollen können Verbundbenutzern, Systemen oder Anwendungen zugeordnet werden, die in Services wie Amazon gehostet werden, und containerbasierten Anwendungen EC2 AWS Lambda, die in Amazon EKS und Amazon ECS gehostet werden. Sie können beispielsweise das AWS SDK verwenden oder AWS CLI Spielinhalte in S3-Buckets veröffentlichen und verwalten. Um diesen Anwendungsfall zu unterstützen, können Sie eine IAM-Rolle mit entsprechendem Zugriff erstellen, um Spielinhalte zu lesen und in Ihre S3-Buckets zu schreiben und sie den EC2 Instanzen zuzuordnen, die Ihre Software und Skripte hosten.

Ressourcenbasierte Richtlinien können für Ihren Bucket und für bestimmte Objekte definiert werden. S3-Bucket-Richtlinien sind mit einem S3-Bucket verknüpft und können verwendet werden, um den Zugriff auf den Bucket und die darin enthaltenen Objekte einzuschränken sowie den Zugriff auf Ihre Amazon S3 S3-Ressourcen von anderen Konten aus zu gewähren. Beispielsweise können Sie in Szenarien, in denen mehrere Teams oder separate Spieleentwicklungsstudios an denselben Spielinhalten arbeiten und denselben Zugriff auf zentral gehostete Inhalte in Amazon S3 benötigen, eine S3-Bucket-Richtlinie verwenden, um Berechtigungen für den kontenübergreifenden Zugriff auf die S3-Ressourcen zu definieren. Erwägen Sie die Verwendung von S3-Zugriffspunkten, die die Verwaltung des Datenzugriffs auf gemeinsam genutzte Daten vereinfachen können, indem Zugriffspunkte mit Namen und Berechtigungen eingerichtet werden, die für jede Anwendung oder für jede Gruppe von Anwendungen spezifisch sind. Die Amazon S3-Dokumentation enthält zusätzliche bewährte Methoden für die Zugriffskontrolle in Amazon S3.

Granting short-term access to your content

Wenn der Zugriff nur für einen bestimmten, begrenzten Zeitraum erforderlich ist, generieren Sie temporäre URLs Dateien, die Ihnen kurzfristigen Zugriff auf Ihre Inhalte gewähren. Amazon S3 bietet Unterstützung für die Generierung vorsignierter Objekte URLs, sodass Objekteigentümer zeitlich begrenzten Zugriff auf Objekte in Amazon S3 gewähren können, ohne Ihre Bucket-Richtlinie aktualisieren zu müssen. Auf diese Weise benötigt der Endbenutzer oder die Anwendung, der Zugriff gewährt wird, kein Konto oder keine IAM-Berechtigungen und verwendet stattdessen die vorsignierte URL, um auf den Inhalt zuzugreifen. 

Dies ist eine bewährte Methode, die häufig in einer Vielzahl von Anwendungsfällen für Spiele verwendet wird, z. B. um autorisierten Spielern Zugriff auf herunterladbare Inhalte zu gewähren, zu denen sie berechtigt waren, und um temporären Zugriff auf zeitlich begrenzte Spielinhalte zu gewähren. Presigned URLs kann auch verwendet werden, um temporäre Berechtigungen für das Hochladen von Inhalten in einen S3-Bucket bereitzustellen. Du könntest zum Beispiel erwägen, eine vorsignierte URL zu verwenden, um einem Spieler Zugriff auf das Hochladen von Kundenprotokollen zu gewähren, um dein Support-Team bei der Behebung eines Spieler-Supportfalls zu unterstützen.

Verwenden Sie ein Content Delivery Network, um Zugriff auf Ihre Inhalte zu gewähren

Während Ihre Anwendungen, Spieleentwickler, Künstler und anderes Personal zu Entwicklungs- und Verwaltungszwecken möglicherweise direkten Zugriff auf die Inhalte in S3-Buckets benötigen, verwenden Sie ein Content Delivery Network, um den Zugriff auf Inhalte zu ermöglichen, die Spielern oder anderen Benutzern über das Internet öffentlich zugänglich sind. Dieser Ansatz verbessert die Download-Leistung und senkt die Kosten, indem häufig aufgerufene Inhalte zwischengespeichert werden. Amazon CloudFront kann Ihre Inhalte weltweit verteilen, indem es sie zwischenspeichert und Ihren Spielern näher bringt und gleichzeitig die Belastung des Download-Ursprungs Ihres Spiels reduziert, z. B. Amazon S3.

Anstatt Ihre öffentlichen Inhalte direkt aus S3-Buckets bereitzustellen, empfiehlt es sich, diese Inhalte privat zu halten und sie öffentlich bereitzustellen, indem Sie CloudFront CloudFront kann so konfiguriert werden, dass Spieler entweder signierte URLs oder signierte Cookies verwenden müssen, um auf deine privaten Inhalte zuzugreifen (z. B. ein neues Spiel nur für kostenpflichtige Spieler). Anschließend können Sie Ihre Anwendung so entwickeln, dass entweder signierte Benutzer erstellt und URLs an authentifizierte Benutzer verteilt werden oder dass Set-Cookie-Header gesendet werden, die signierte Cookies für authentifizierte Benutzer setzen. Wenn Sie signierte URLs oder signierte Cookies erstellen, um den Zugriff auf Ihre Dateien zu kontrollieren, können Sie ein Enddatum und eine Endzeit angeben. Danach sind die URL und die Cookies nicht mehr gültig. 

Optional können Sie auch die IP-Adresse oder den Adressbereich der Computer angeben, die für den Zugriff auf Ihre Inhalte verwendet werden können. Dies ist nützlich, wenn Sie den Zugriff auf bestimmte Spieleentwicklungsstudio-Partner oder Vertragsnetzwerke einschränken möchten. Verwenden Sie signierte Cookies, wenn Sie Zugriff auf mehrere eingeschränkte Dateien gewähren möchten oder wenn Sie Ihre aktuellen Dateien nicht ändern möchten URLs. Verwenden Sie signierte Dateien, URLs wenn Sie den Zugriff auf einzelne Dateien einschränken möchten oder wenn Ihre Benutzer einen Client verwenden, der keine Cookies unterstützt. Signierte Cookies haben URLs Vorrang vor signierten Cookies.

Implementierungsschritte

  • Verwenden Sie IAM-Rollen und Bucket-Richtlinien, um internen Anwendungen, Teams oder kontenübergreifenden Szenarien angemessenen Zugriff auf S3-Buckets zu gewähren.

  • Generieren Sie Objekte, URLs die so konzipiert sind, dass sie kurzfristigen Zugriff auf S3-Objekte gewähren. Diese eignen sich für herunterladbare Inhalte oder temporäre Uploads wie Client-Logs.

  • Verwenden Sie Amazon CloudFront mit signierten Cookies URLs oder Cookies, um privaten Inhalten authentifizierten Benutzern sicherer bereitzustellen